00001 #include "machine.h"
00002 typedef signed char integer1;
00003 typedef short integer2;
00004
00005
00006 #define INSERT1(Type) {\
00007 Type *FROM;\
00008 Type *TO;\
00009 FROM=(Type *)from;\
00010 --FROM;\
00011 TO=(Type *)to;\
00012 --TO;\
00013 for (i = 1; i <= *mi; ++i) \
00014 TO[indx[i]] = FROM[1+(i-1)*(*inc2)];\
00015 }
00016
00017 int C2F(geninsert1)(typ,mi,indx,to,from,inc2)
00018 integer *typ;
00019 integer *mi;
00020 integer *indx;
00021 integer *from;
00022 integer *to;
00023 integer *inc2;
00024 {
00025
00026 static integer i;
00027 --indx;
00028 switch (*typ) {
00029 case 1:
00030 INSERT1(integer1);
00031 break;
00032 case 2:
00033 INSERT1(integer2);
00034 break;
00035 case 4:
00036 INSERT1(integer);
00037 break;
00038 case 11:
00039 INSERT1(unsigned char);
00040 break;
00041 case 12:
00042 INSERT1(unsigned short);
00043 break;
00044 case 14:
00045 INSERT1(unsigned int);
00046 break;
00047 }
00048 return 0;
00049 }
00050