genscal.c

Go to the documentation of this file.
00001 #include "machine.h"
00002 #include "genscal.h"
00003 typedef signed char integer1;
00004 typedef short integer2;
00005 /*     Copyright INRIA */
00006 
00007 #define SCAL(Type) {\
00008 Type *DX;\
00009 Type *DA;\
00010     DX=(Type *)dx;\
00011     --DX;\
00012     DA=(Type *)da;\
00013     for (i = 1; i2 < 0 ? i >= i1 : i <= i1; i += i2) {\
00014         DX[i] = (*DA) * DX[i];\
00015     }\
00016 }
00017 
00018 int C2F(genscal)(integer *typ, integer *n, int *da, int *dx, integer *incx)
00019 {
00020   static integer i, i1, i2, nincx;
00021   if (*n <= 0 || *incx <= 0) return 0;
00022   nincx = *n * (*incx);
00023   i1 = nincx;
00024   i2 = *incx;
00025 
00026   switch (*typ) {
00027   case 1:
00028     SCAL(integer1);
00029     break;
00030   case 2:
00031     SCAL(integer2);
00032     break;
00033   case 4:
00034     SCAL(integer);
00035     break;
00036   case 11:
00037     SCAL(unsigned char);
00038     break;
00039   case 12:
00040     SCAL(unsigned short);
00041     break;
00042   case 14:
00043     SCAL(unsigned int);
00044     break;
00045   }
00046   return 0;
00047 }
00048 

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