00001 #include "machine.h"
00002 typedef signed char integer1;
00003 typedef short integer2;
00004
00005
00006 #define SET(Type) {\
00007 Type *DX;\
00008 Type *DY;\
00009 DX=(Type *)dx;\
00010 DY=(Type *)dy;\
00011 --DY;\
00012 if (*n <= 0) return 0;\
00013 iy = 1;\
00014 if (*incy < 0) iy = (-(*n) + 1) * *incy + 1;\
00015 for (i = 1; i <= *n; ++i) { \
00016 DY[iy] = *DX;iy += *incy;}\
00017 }
00018
00019
00020
00021
00022 int C2F(genset)(typ, n, dx, dy, incy)
00023 integer *n;
00024 integer *incy;
00025 integer *typ;
00026 int *dx;
00027 int *dy;
00028 {
00029 static integer i, iy;
00030 switch (*typ) {
00031 case 0:
00032 SET(double);
00033 break;
00034 case 1:
00035 SET(integer1);
00036 break;
00037 case 2:
00038 SET(integer2);
00039 break;
00040 case 4:
00041 SET(integer);
00042 break;
00043 case 11:
00044 SET(unsigned char);
00045 break;
00046 case 12:
00047 SET(unsigned short);
00048 break;
00049 case 14:
00050 SET(unsigned int);
00051 break;
00052 }
00053 return 0;
00054 }
00055