genmtran.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 MTRAN(Type) {\
00007 Type *A;\
00008 Type *B;\
00009     A=(Type *)a;\
00010     --A;\
00011     B=(Type *)b;\
00012     --B;\
00013     ia = 0;i1 = *n;\
00014     i2 = *m;\
00015     for (j = 1; j <= i1; ++j) {\
00016         ib = j;\
00017         for (i = 1; i <= i2; ++i) {\
00018             B[ib] = A[ia + i];\
00019             ib += *nb;\
00020         }\
00021         ia += *na;\
00022     }\
00023 }
00024 
00025 
00026 int C2F(genmtran)(typ,a, na, b, nb, m, n)
00027 integer *na, *nb, *m, *n;
00028 integer *typ;
00029 int *a;
00030 int *b;
00031 {
00032   integer i1, i2;
00033   static integer i, j, ia, ib;
00034   switch (*typ) {
00035   case 1:
00036     MTRAN(integer1);
00037     break;
00038   case 2:
00039     MTRAN(integer2);
00040     break;
00041   case 4:
00042     MTRAN(integer);
00043     break;
00044   case 11:
00045     MTRAN(unsigned char);
00046     break;
00047   case 12:
00048     MTRAN(unsigned short);
00049     break;
00050   case 14:
00051     MTRAN(unsigned int);
00052     break;
00053   }
00054   return 0;
00055 }
00056 

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