Add here a paragraph of the function description.
/* intmod_num_lib.c scilab interface routine * IRCOM GROUP - Author : A.Layec */ /* REVISION HISTORY : * $Log$ */ #include "stack-c.h" #include "mex.h" void genint_c __PARAMS((int *n, int *m, int *type, double *y)); void surecht_c __PARAMS((int *opt,int *n,int *nech,int *init_c,double *u,double *y)); void modpsk_c __PARAMS((int *n,int *m,double *u,double *i_c, double *q_c)); int intgenint_c(char *fname) { static int l1, m1, n1; /*entrée 1*/ static int l2, m2, n2; /*entrée 2*/ static int l3, m3, n3; /*entrée 3*/ static int l4; /*sortie 1*/ static int minlhs=1, maxlhs=1, minrhs=3, maxrhs=3; /* Check number of inputs and outputs (lhs=1) */ CheckRhs(minrhs,maxrhs) ; CheckLhs(minlhs,maxlhs) ; /*Get input and create output*/ GetRhsVar(1,"i",&m1,&n1,&l1); GetRhsVar(2,"i",&m2,&n2,&l2); GetRhsVar(3,"i",&m3,&n3,&l3); CreateVar(4,"d",istk(l1),&n1,&l4); /*Check dimensions*/ /*TO BE DONE*/ /*Appel bin_c*/ genint_c(istk(l1),istk(l2),istk(l3),stk(l4)); /*Return output variable*/ LhsVar(1) = 4; return 0; } int intsurecht_c(char *fname) { static int l1,m1,n1; /*entrée 1*/ static int l2,m2,n2; /*entrée 2*/ static int l3,m3,n3; /*entrée 3*/ static int l4,m4,n4; /*entrée 4*/ static int l5; /*sortie 1*/ static int minlhs=1, maxlhs=1,minrhs=4,maxrhs=4; static int k; /* Check number of inputs and outputs (lhs=1) */ CheckRhs(minrhs,maxrhs); CheckLhs(minlhs,maxlhs); /*Get input and create output*/ GetRhsVar(1,"i",&m1,&n1,&l1); /*opt : option -scalaire*/ GetRhsVar(2,"i",&m2,&n2,&l2); /*nech : facteur de surechantillonnage -scalaire-*/ GetRhsVar(3,"i",&m3,&n3,&l3); /*init_c : valeur du compteur initial -scalaire-*/ GetRhsVar(4,"d",&m4,&n4,&l4); /*u : vecteur d'entrée*/ k=*istk(l2)*m4; sciprint("k=%d\r\n",k); CreateVar(5,"d",&k,&n4,&l5); /*y : vecteur de sortie*/ /*Check dimensions*/ /*TO BE DONE*/ /*Appel surech_c*/ surecht_c(istk(l1),&m4,istk(l2),istk(l3),stk(l4),stk(l5)); /*Return output variable*/ LhsVar(1) = 5; return 0; } int intmodpsk_c(char *fname) { static int l1,m1,n1; /*entrée 1*/ static int l2,m2,n2; /*entrée 2*/ static int l3; /*sortie 2*/ static int l4; /*sortie 1*/ static int minlhs=2, maxlhs=2,minrhs=2,maxrhs=2; /* Check number of inputs and outputs (lhs=1) */ CheckRhs(minrhs,maxrhs) ; CheckLhs(minlhs,maxlhs) ; /*Get input and create output*/ GetRhsVar(1,"i",&m1,&n1,&l1); /*nbr d'états -scalaire-*/ GetRhsVar(2,"d",&m2,&n2,&l2); /*vecteur d'entrée*/ CreateVar(3,"d",&m2,&n2,&l3); /*vecteur i*/ CreateVar(4,"d",&m2,&n2,&l4); /*vecteur q*/ /*Check dimensions*/ /*TO BE DONE*/ /*Appel bin_c*/ modpsk_c(&m2,istk(l1),stk(l2),stk(l3),stk(l4)); /*Return output variable*/ LhsVar(1) = 3; LhsVar(2) = 4; return 0; } static GenericTable Tab[]={ {(Myinterfun)sci_gateway, intgenint_c,"error msg"}, {(Myinterfun)sci_gateway, intmodpsk_c,"error msg"}, {(Myinterfun)sci_gateway, intsurecht_c,"error msg"}, }; int C2F(intmod_num_lib)() { Rhs = Max(0, Rhs); (*(Tab[Fin-1].f))(Tab[Fin-1].name,Tab[Fin-1].F); return 0; }