/* st01.c PEH, RAP, CJP Version 2.02 06/09/07 */ #include #include #include"blimp.h" int main(int argc, char **argv) { FILE *f1, *f2; int i,k,n,ngen,nr,good; int *gp,*b,*b2,*p,*p2; if(argc != 3) { printf("usage st01 \n"); return; } good=1; gp=(int*) malloc(GRPSIZ*sizeof(int)); if(gp==NULL) good=0; b=(int*) malloc(GRPSIZ*sizeof(int)); if(b==NULL) good=0; b2=(int*) malloc(GRPSIZ*sizeof(int)); if(b2==NULL) good=0; if(good==0) { printf("Error malloc-ing space\n"); exit(24); } f1 = (FILE*) fopen(argv[1],"r"); if(f1==NULL) { printf("Error open input file %s\n",argv[1]); exit(25); } f2 = (FILE*) fopen(argv[2],"w"); if(f2==NULL) { printf("Error open output file %s\n",argv[2]); exit(25); } while(1) { k=ReadGroup(gp,f1); if(k==-1) break; n=ListBlimps(gp,b); for(i=0;i2)&&(b[i]!=999)) DeleteBlimp(gp,b[i]); ExtractBlimp(gp,2,b); ngen=b[2]; nr=b[3]; b2[0]=3; b2[1]=(2*ngen) + 1; b2[2]=2*ngen; for(i=1;i<=ngen;i++) b2[i+2]=i+ngen; for(i=1;i<=ngen;i++) b2[i+2+ngen]=i; InsertBlimp(gp,b2); p=(int*)b2; *(p++)=5; *(p++)=2*ngen; for(i=1;i<=ngen;i++) { *(p++)=i; *(p++)=0; } InsertBlimp(gp,b2); b2[0]=4; b2[1]=4*ngen; for(i=1;i<=ngen;i++) { *(p++)=-i; *(p++)=0; } InsertBlimp(gp,b2); p=(int*)b2; p2=(int*)b; *(p++)=6; *(p++)=b[1]-1; *(p++)=nr; p2++; p2++; p2++; p2++; for(i=0;i