geninsert2.c

Go to the documentation of this file.
00001 #include "machine.h"
00002 typedef signed char integer1;
00003 typedef short integer2;
00004 /*     Copyright INRIA */
00005 
00006 #define INSERT2(Type) {\
00007 Type *FROM;\
00008 Type *TO;\
00009     FROM=(Type *)from;\
00010     --FROM;\
00011     TO=(Type *)to;\
00012     --TO;\
00013     i1 = *mj;\
00014     for (j = 1; j <= i1; ++j) {\
00015         ljj = (indxj[j] - 1) * (*mr);\
00016         jj = (j - 1) * (*m3);\
00017         i2 = *mi;\
00018         for (i = 1; i <= i2; ++i)\
00019             TO[indxi[i] + ljj] = FROM[(i - 1 + jj) * (*inc3) + 1];\
00020     }\
00021 }
00022 
00023 int C2F(geninsert2)(typ,mj,mi,indxj,indxi,to,mr,from,m3,inc3)
00024 integer *typ;
00025 integer *mi,*mj,*mr,*m3,*inc3;
00026 integer *indxi,*indxj;
00027 integer *from;
00028 integer *to;
00029 {
00030   integer i1, i2;
00031   static integer i, j, ljj,jj;
00032 
00033   --indxi;
00034   --indxj;
00035 
00036   switch (*typ) {
00037   case 1:
00038     INSERT2(integer1);
00039     break;
00040   case 2:
00041     INSERT2(integer2);
00042     break;
00043   case 4:
00044     INSERT2(integer);
00045     break;
00046   case 11:
00047     INSERT2(unsigned char);
00048     break;
00049   case 12:
00050     INSERT2(unsigned short);
00051     break;
00052   case 14:
00053     INSERT2(unsigned int);
00054     break;
00055   }
00056   return 0;
00057 }
00058 

Generated on Sun Mar 4 15:03:57 2007 for Scilab [trunk] by  doxygen 1.5.1