sciblk2.c File Reference

#include "machine.h"

Include dependency graph for sciblk2.c:

Go to the source code of this file.

Functions

integer C2F() scierr ()
void C2F() itosci ()
void C2F() dtosci ()
void C2F() vvtosci ()
void C2F() scitovv ()
void C2F() skipvars ()
void C2F() scitod ()
void C2F() list2vars ()
void C2F() ltopadj ()
void C2F() scifunc ()
void C2F() mklist ()
void sciblk2 (integer *flag, integer *nevprt,*t, xd, x, integer *nx, z, integer *nz, tvec, integer *ntvec, rpar, integer *nrpar, ipar, integer *nipar, inptr, insz, integer *nin, outptr, outsz, integer *nout)


Function Documentation

void C2F() dtosci (  ) 

void C2F() itosci (  ) 

void C2F() list2vars (  ) 

Referenced by sciblk2(), and sciblk2i().

Here is the caller graph for this function:

void C2F() ltopadj (  ) 

Referenced by sciblk2(), and sciblk2i().

Here is the caller graph for this function:

void C2F() mklist (  ) 

void sciblk2 ( integer flag,
integer nevprt,
t,
xd  ,
x  ,
integer nx,
z  ,
integer nz,
tvec  ,
integer ntvec,
rpar  ,
integer nrpar,
ipar  ,
integer nipar,
inptr  ,
insz  ,
integer nin,
outptr  ,
outsz  ,
integer nout 
)

Definition at line 17 of file sciblk2.c.

References C2F, dtosci(), err, itosci(), list2vars(), ltopadj(), mklist(), mlhs, mrhs, nu, scierr(), scifunc(), scitod(), scitovv(), skip, skipvars(), vvtosci(), and y.

Referenced by scicos().

00024 {
00025     int k;
00026     double *y;
00027     double *u;
00028     /*int nev,ic;*/
00029     integer one=1,skip;
00030     integer nu,ny;
00031     integer mlhs=5,mrhs=8;
00032     integer ltop;
00033 
00034 
00035     C2F(itosci)(flag,&one,&one);
00036     if (C2F(scierr)()!=0) goto err;
00037     C2F(itosci)(nevprt,&one,&one);
00038     if (C2F(scierr)()!=0) goto err;  
00039     C2F(dtosci)(t,&one,&one);
00040     if (C2F(scierr)()!=0) goto err;  
00041     C2F(dtosci)(x,nx,&one);
00042     if (C2F(scierr)()!=0) goto err;  
00043 /*    C2F(dtosci)(z,nz,&one);*/
00044     C2F(vvtosci)(z,nz);
00045     if (C2F(scierr)()!=0) goto err; 
00046     C2F(vvtosci)(rpar,nrpar); 
00047 /*    C2F(dtosci)(rpar,nrpar,&one);*/
00048     if (C2F(scierr)()!=0) goto err;  
00049     C2F(itosci)(ipar,nipar,&one);
00050     if (C2F(scierr)()!=0) goto err;
00051     for (k=0;k<*nin;k++) {
00052         u=(double *)inptr[k];
00053         nu=insz[k];
00054         C2F(dtosci)(u,&nu,&one);
00055         if (C2F(scierr)()!=0) goto err;
00056     }
00057     C2F(mklist)(nin);
00058 
00059 
00060     C2F(scifunc)(&mlhs,&mrhs);
00061     if (C2F(scierr)()!=0) goto err;
00062     
00063     switch (*flag) {
00064     case 1 :
00065         /* y or z computation */
00066       {
00067         skip=2;
00068         C2F(skipvars)(&skip);
00069         C2F(scitovv)(z,nz);
00070         /*C2F(scitod)(z,nz,&one);*/
00071         C2F(scitod)(x,nx,&one);
00072       }
00073       if (*nout==0) {
00074         skip=1;
00075         C2F(skipvars)(&skip);
00076       }
00077       else {
00078         C2F(list2vars)(nout,&ltop);
00079         if (C2F(scierr)()!=0) goto err; 
00080         for (k=*nout-1;k>=0;k--) {
00081           y=(double *)outptr[k];
00082           ny=outsz[k];
00083           C2F(scitod)(y,&ny,&one);
00084           if (C2F(scierr)()!=0) goto err;
00085         }
00086         /* list2vars has changed the Lstk(top+1) value. 
00087            reset the correct value */
00088         C2F(ltopadj)(&ltop);  
00089       }
00090       break;
00091     case 0 :
00092         /*  x'  computation */
00093       {
00094         /*skip=4;
00095           C2F(skipvars)(&skip);*/
00096         C2F(scitod)(xd,nx,&one);
00097         skip=4;
00098         C2F(skipvars)(&skip);
00099         break;
00100       }
00101     case 2 :
00102       {
00103         skip=2;
00104         C2F(skipvars)(&skip);
00105         C2F(scitovv)(z,nz);
00106         /*C2F(scitod)(z,nz,&one);*/
00107         C2F(scitod)(x,nx,&one);
00108         skip=1;
00109         C2F(skipvars)(&skip);
00110       }
00111       break;
00112     case 3 :
00113         skip=1;
00114         C2F(skipvars)(&skip);
00115         C2F(scitod)(tvec,ntvec,&one);
00116         skip=3;
00117         C2F(skipvars)(&skip);
00118         break;
00119     case 4 :
00120         skip=2;
00121         C2F(skipvars)(&skip);
00122         C2F(scitovv)(z,nz);
00123         /*C2F(scitod)(z,nz,&one);*/
00124         C2F(scitod)(x,nx,&one);
00125         skip=1;
00126         C2F(skipvars)(&skip);
00127         break;
00128     case 5 :
00129         skip=2;
00130         C2F(skipvars)(&skip);
00131         C2F(scitovv)(z,nz);
00132         /*C2F(scitod)(z,nz,&one);*/
00133         C2F(scitod)(x,nx,&one);
00134         skip=1;
00135         C2F(skipvars)(&skip);
00136         break;
00137     case 6 :
00138         skip=2;
00139         C2F(skipvars)(&skip);
00140         C2F(scitovv)(z,nz);
00141         /*C2F(scitod)(z,nz,&one);*/
00142         C2F(scitod)(x,nx,&one);
00143         if (*nout==0) {
00144             skip=1;
00145             C2F(skipvars)(&skip);
00146         }
00147         else {
00148             C2F(list2vars)(nout,&ltop); 
00149             if (C2F(scierr)()!=0) goto err;
00150             for (k=*nout-1;k>=0;k--) {
00151                 y=(double *)outptr[k];
00152                 ny=outsz[k];
00153                 C2F(scitod)(y,&ny,&one);
00154                 if (C2F(scierr)()!=0) goto err;
00155             }
00156             /* list2vars has changed the Lstk(top+1) value. 
00157                reset the correct value */
00158            C2F(ltopadj)(&ltop);  
00159         }
00160         break;
00161     }
00162     return;
00163  err: 
00164     *flag=-1;
00165 }

Here is the call graph for this function:

Here is the caller graph for this function:

integer C2F() scierr (  ) 

void C2F() scifunc (  ) 

Referenced by sciblk2(), sciblk2i(), and sciblk4().

Here is the caller graph for this function:

void C2F() scitod (  ) 

Referenced by sciblk2(), and sciblk2i().

Here is the caller graph for this function:

void C2F() scitovv (  ) 

Referenced by sciblk2(), and sciblk2i().

Here is the caller graph for this function:

void C2F() skipvars (  ) 

Referenced by sciblk2(), and sciblk2i().

Here is the caller graph for this function:

void C2F() vvtosci (  ) 


Generated on Sun Mar 4 16:12:14 2007 for Scilab [trunk] by  doxygen 1.5.1