#define mod_sub(a,b) (((a) >=(b) ) ?(a) -(b) :(a) -(b) +prime) #define entry(i,j,k) ((k==2) ?mat[k][n[3]*i+j]:mat[k][n[k]*j+i]) /*1:*/ #include "Morse.h" #include "globals.h" /*:1*//*2:*/ int gauss2(unsigned char*matrix,int m,int n) { unsigned char**perm; int i,j,k,l; unsigned char*p,*q; perm= (unsigned char**)malloc(n*sizeof(unsigned char*)); for(i= 0;icount; } p++; } hlist_abandon(&edges); } /*:12*/ /*11:*/ { simplex_id te0,te1,te; int or0,or1; te0= FindGrad23orientation(f,&or0); te1= FindGrad23orientation(other_face_id(f),&or1); p= mat[2]+n[3]*j; i= 0; m= 0; k= 2; if(id_is_null(te0))k--; if(id_is_null(te1))k--; list_read_init(crit[3]); while(m>3; for(j= 0;j<11;j++) { if((m>>j)&1)/*15:*/ { int prime= odd_primes[j]; for(i= 0;i