1 #include "defs.h"
2 
3 #define PSP 500000
4 #define SPACE 500000
5 #define PTRSP 10000
6 #define CSPACE 2000000
7 #define CPTRSP 500000
8 #define CDPTRSP 10000
9 #define SVSP 200000
10 #define NPT 32767
11 #define MP 2000
12 #define MB 80
13 #define MWDL 5000
14 #define MWL2 1000
15 #define MLWDL 32767
16 #define MSP 32767
17 #define MV 1000
18 #define MM 200
19 #define MDIM 101
20 #define MPR 2000
21 
22 char mult,inf1[80],inf2[80],inf3[80],outf[80],outft[80];
23 short ***scoeff[MB],**cdpsp[CDPTRSP],*cpsp[CPTRSP],csp[CSPACE],rwd[MLWDL+MDIM],
24      wd1[MWDL+MDIM], wd2[MWDL+MDIM], wd3[MWDL+MDIM], wd4[MWDL+MDIM];
25 int cspace=CSPACE,psp=PSP,space=SPACE,cptrsp=CPTRSP,svsp=SVSP;
26 short perm[PSP],sv[SVSP],orb[NPT+1],imsp[SPACE],*ptsp[PTRSP],**simcos[MB],
27       base[MB],lorb[MB],pno[MP/2],*pptr[MP],*svptr[MB],cord[MDIM],pinv[MPR],
28       invg[MP],rno[MB],cp[MLWDL+MDIM],mspace[MSP],*vec[MV],**mat[MM],gno[MB],
29       mp=MP,cdptrsp=CDPTRSP,ptrsp=PTRSP,mm=MM,msp=MSP,mv=MV,
30       mwdl=MWDL,mlwdl=MLWDL,mpr=MPR,mpt=NPT,mb=MB-1,mdim=MDIM-1,mwl2=MWL2;
31 
32 int
main(int argc,char * argv[])33 main (int argc, char *argv[])
34 { short arg; char err;
35   mult=0; err=0; arg=1; if (argc<=arg) {err=1; goto error;}
36   if (argv[arg][0]=='-')
37   { if (argv[arg][1]!='m') {err=1; goto error;} mult=1;
38     arg++; if (argc<=arg) {arg=1; goto error;}
39   }
40   strcpy(inf1,argv[arg]); strcat(inf1,".");
41   arg++; if (argc<=arg) strcat(inf1,"sg"); else strcat(inf1,argv[arg]);
42   strcpy(inf2,inf1); strcat(inf2,".er"); strcpy(inf3,inf1);
43   strcat(inf3,"mat"); strcpy(outf,inf1); strcat(outf,".ep");
44   strcpy(outft,inf1); strcat(outft,".gc");
45   if (extpprog()==-1) exit(1);
46   error: if (err)
47   { fprintf(stderr,"Usage:   extprun [-m] gpname [inf1]\n");
48     exit(1);
49   }
50   exit(0);
51 }
52