extdiagz_routcos

Computational routine
eng

##
extdiagz

### File content

    #include "scicos_block4.h"
    #include "../machine.h"

    #ifndef min
    #define min(a,b) ((a) <= (b) ? (a) : (b))
    #endif

    #ifndef max
    #define max(a,b) ((a) >= (b) ? (a) : (b))
    #endif

    void extdiagz(scicos_block *block,int flag)
    {
      double *ur;
      double *ui;
      double *yr;
      double *yi;

      int mu,nu,i,ii;

      mu=GetInPortRows(block,1);
      nu=GetInPortCols(block,1);
      ur=GetRealInPortPtrs(block,1);
      ui=GetImagInPortPtrs(block,1);
      yr=GetRealOutPortPtrs(block,1);
      yi=GetImagOutPortPtrs(block,1);
      for (i=0;i<mu*nu;i++)
    	{*(yr+i)=0;
    	 *(yi+i)=0;}
      for (i=0;i<min(mu,nu);i++)
    	{ii=i+i*mu;
     	 *(yr+ii)=*(ur+ii);
    	 *(yi+ii)=*(ui+ii);}
    }