Lines Matching refs:POLY_Dmax

22 #if	(POLY_Dmax < 5)
56 GL_Long G[POLY_Dmax][POLY_Dmax]); /* current=best */
59 SL_Long S[POLY_Dmax][POLY_Dmax]); /* previous=bad */
62 int *d,int *v,int *f, Long VM[POLY_Dmax][VERT_Nmax], /* out */
65 void Eval_Poly_NF(int *d,int *v,int *f, Long VM[POLY_Dmax][VERT_Nmax],
67 Long pNF[POLY_Dmax][VERT_Nmax], int t); /* out */
73 Long VM[POLY_Dmax][VERT_Nmax], /* in */
74 Long pNF[POLY_Dmax][VERT_Nmax],int *t); /* out */
79 Long pNF[POLY_Dmax][VERT_Nmax]); /* 1 if reflexive */
84 { GL_Long G[POLY_Dmax][POLY_Dmax]; in Aux_Make_Poly_NF()
86 int i,j,x; SL_Long S[POLY_Dmax][POLY_Dmax];Long XS[POLY_Dmax][VERT_Nmax]; in Aux_Make_Poly_NF()
97 { SL_Long S[POLY_Dmax][POLY_Dmax];
102 { int i,j; Long UTF[POLY_Dmax][VERT_Nmax];
110 { int i,j; Long UTF[POLY_Dmax][VERT_Nmax];
144 GL_Long G[POLY_Dmax][POLY_Dmax])
145 { int i, j, C=-1, L; GL_Long g, W[POLY_Dmax], NF[POLY_Dmax][VERT_Nmax],
146 *_G[POLY_Dmax], NG[POLY_Dmax][POLY_Dmax];for(i=0;i<*n;i++)_G[i]=NG[i];
150 { int N=0, p[POLY_Dmax];
161 { GL_Long Cp[POLY_Dmax]; for(j=0;j<N;j++) Cp[j]=G[p[j]][i];
187 void TEST_rVM_VPM(int *d,int *v,int *f, Long X[POLY_Dmax][VERT_Nmax],
207 int *d,int *v,int *f, Long X[POLY_Dmax][VERT_Nmax], /* out */
262 void Eval_Poly_NF(int *d,int *v,int *f, Long VM[POLY_Dmax][VERT_Nmax],
264 Long pNF[POLY_Dmax][VERT_Nmax],int t) /* out */
410 Long X[POLY_Dmax][VERT_Nmax], Y[POLY_Dmax][VERT_Nmax];
479 Long VM[POLY_Dmax][VERT_Nmax], /* in */
480 Long pNF[POLY_Dmax][VERT_Nmax],int *t) /* out */
487 Long pNF[POLY_Dmax][VERT_Nmax]) /* 1 if reflexive */
489 Long VM[POLY_Dmax][VERT_Nmax], VPM[VERT_Nmax][VERT_Nmax];
496 { Long pNF[POLY_Dmax][VERT_Nmax];
513 Long NF[POLY_Dmax][VERT_Nmax], int traced, int S, int N)
516 Long VM[POLY_Dmax][VERT_Nmax], VPM[VERT_Nmax][VERT_Nmax];
545 void Aux_NF_Coord(PolyPointList *_P, Long VM[POLY_Dmax][VERT_Nmax], int *C,
547 { SL_Long S[POLY_Dmax][POLY_Dmax], X[POLY_Dmax];
548 Long V[POLY_Dmax][VERT_Nmax]; int i, j;
561 { PERM *CL; Long VM[POLY_Dmax][VERT_Nmax], VPM[VERT_Nmax][VERT_Nmax];
575 { SL_Long S[POLY_Dmax][POLY_Dmax], X[POLY_Dmax];
576 Long V[POLY_Dmax][VERT_Nmax]; int i, j;
604 SL_Long S[POLY_Dmax][POLY_Dmax])
605 { SL_Long NF[POLY_Dmax][VERT_Nmax], a, b, g;
672 { GL_Long W[POLY_Dmax]; int l,c; for(c=0;c<*d;c++)
680 void TEST_GLZmatrix(GL_Long *G[POLY_Dmax], int d)
681 { int x,y; GL_Long Ginv[POLY_Dmax][POLY_Dmax];
682 Long X[POLY_Dmax][VERT_Nmax];
687 void INV_GLZmatrix(GL_Long G[][POLY_Dmax], int *d,GL_Long Ginv[][POLY_Dmax])
689 Long X[POLY_Dmax][VERT_Nmax];
697 GL_Long GL_V_to_GLZ(GL_Long *V, GL_Long *G[POLY_Dmax], int d)
698 { int i, j, p=0, z=0, P[POLY_Dmax], Z[POLY_Dmax]; GL_Long g, W[POLY_Dmax];
727 Long V_to_G_GI(Long *V,int d, Long G[][POLY_Dmax],Long GI[][POLY_Dmax])
728 { GL_Long AV[POLY_Dmax],AG[POLY_Dmax][POLY_Dmax],AGI[POLY_Dmax][POLY_Dmax],
729 *P[POLY_Dmax]; Long g; int i,j;
735 int TriMat_to_Weight(GL_Long T[][POLY_Dmax], int *p,int r,int *s,
737 { int i,j; Long g, a, b, x[POLY_Dmax+1], *X=W[*nw];
767 GL_Long G[POLY_Dmax][POLY_Dmax]) /* allows rank<*d */
768 { int i,j,k,r=0; GL_Long B[POLY_Dmax][POLY_Dmax],*b[POLY_Dmax],
769 *g[POLY_Dmax]; for(i=0;i<*d;i++) {b[i]=B[i]; g[i]=G[i];}
772 { GL_Long V[POLY_Dmax]; int nz=0; for(j=r;j<*d;j++)
777 typedef Long PoMat[VERT_Nmax][POLY_Dmax];
778 typedef Long VMat[POLY_Dmax][VERT_Nmax];
779 void Print2_PM(Long PM[][POLY_Dmax],int d,int p)
791 Long NF[POLY_Dmax][VERT_Nmax]; VMat Inv; assert(NULL != VP);
793 { Long X[POLY_Dmax], g=0; for(i=0;i<P->n;i++)
802 { GL_Long G[POLY_Dmax][POLY_Dmax],B[POLY_Dmax][POLY_Dmax];
829 Long SimplexVolume(Long *V[POLY_Dmax+1],int d)
830 { Long I=1, VM[POLY_Dmax][VERT_Nmax]; int i,p;
835 void Print_GLZ(GL_Long G[][POLY_Dmax],int d,const char *c);
838 { Long P[VERT_Nmax][POLY_Dmax],F[POLY_Dmax][VERT_Nmax],B[POLY_Dmax],g,
848 { Long Ze[POLY_Dmax],Ve,Be[POLY_Dmax],Ne,ZB[POLY_Dmax];
849 GL_Long G[POLY_Dmax][POLY_Dmax],GI[POLY_Dmax][POLY_Dmax]; int f=0;
983 { int e=0,i=0; Long *X=P->x[V->v[v]], *Y[POLY_Dmax+1];
993 { int v=0,i=0; Long *Y[POLY_Dmax+1];
1000 int AffRelSimplexVolume(Long *X[POLY_Dmax],int v,int d) /* S-dim=v<=dim */
1001 { int i,j,k,r=0,det=1; GL_Long B[POLY_Dmax][POLY_Dmax], *b[POLY_Dmax],
1002 Y[POLY_Dmax][POLY_Dmax], G[POLY_Dmax][POLY_Dmax], *g[POLY_Dmax];
1007 { GL_Long V[POLY_Dmax]; int nz=0; for(j=r;j<d;j++)
1015 int LinRelSimplexVolume(Long *X[POLY_Dmax],int v,int d) /* S-dim=v<=dim */
1016 { int i,j,k,r=0,det=1; GL_Long B[POLY_Dmax][POLY_Dmax],*b[POLY_Dmax],
1017 G[POLY_Dmax][POLY_Dmax],*g[POLY_Dmax];
1021 { GL_Long V[POLY_Dmax]; int nz=0; for(j=r;j<d;j++)
1029 Long Y[POLY_Dmax];
1158 for(j=0;j<nf;j++){int e=0, el[4], sq=0; Long *X[POLY_Dmax];
1197 if(CF==2) {Long xB[POLY_Dmax],xN; /* Fano case */
1216 Long xB[POLY_Dmax], xN, vol=LatVol_Barycent(P,V,xB,&xN),
1241 { Long C[POLY_Dmax], N; int nis,r=0,s,ks,bcz,ssr, R=KP_VALUE; char c[90];
1341 void Check_New_Fiber(Long PM[][POLY_Dmax], /*int *p,*/ int *d, /*int *nw,*/
1343 int TriMat_to_WeightZ(GL_Long T[][POLY_Dmax], int *d,int *p,int r,int *s,
1345 void IPS_Rec_New_Vertex(Long PM[][POLY_Dmax], int *p, int *d, int *nw,
1347 GL_Long *GI[POLY_Dmax][POLY_Dmax],
1348 GL_Long **GN, GL_Long T[][POLY_Dmax], int *s,int r, FibW *FW,int *CD)
1376 int Fiber_Ref_Check(Long PM[][POLY_Dmax], int *d, int *p, int *v,
1377 GL_Long G[POLY_Dmax][POLY_Dmax], GL_Long Ginv[][POLY_Dmax],
1386 int Fiber_Ref_Check(Long PM[][POLY_Dmax], int *d, /*int *p,*/ int *v,
1387 GL_Long G[POLY_Dmax][POLY_Dmax], /* GL_Long Ginv[][POLY_Dmax],
1396 void Add_Ref_Fibers(Long PM[][POLY_Dmax], int *d, int *v, int *s,
1397 GL_Long G[][POLY_Dmax][POLY_Dmax], int *n, PolyPointList *A, int r)
1399 GL_Long Ginv[POLY_Dmax][POLY_Dmax];
1410 typedef struct {GL_Long G[VERT_Nmax][POLY_Dmax][POLY_Dmax],
1411 GK[VERT_Nmax][POLY_Dmax][POLY_Dmax],
1412 B[VERT_Nmax][POLY_Dmax][POLY_Dmax];
1415 GL_Long ***G, GL_Long *GI[POLY_Dmax][POLY_Dmax], GL_Long **GN,
1416 GL_Long T[][POLY_Dmax], int *s, int r, ek3fli *F, int *fdim)
1432 { int n, i, j, d=P->n, s[POLY_Dmax];
1433 GL_Long T[POLY_Dmax+1][POLY_Dmax],*X=T[0], **G[POLY_Dmax],*GN[POLY_Dmax],
1434 *GI[POLY_Dmax][POLY_Dmax], GX[(POLY_Dmax*(POLY_Dmax+3))/2][POLY_Dmax];
1453 GL_Long G[POLY_Dmax][POLY_Dmax])
1456 { int i,j,e,k, v,n,f; Long PM[VERT_Nmax][POLY_Dmax]; for(i=0;i<p;i++)
1490 GL_Long G[VERT_Nmax][POLY_Dmax][POLY_Dmax],int nk)
1494 { int i,j,e,k, v,n,f; Long PM[VERT_Nmax][POLY_Dmax]; for(i=0;i<p;i++)
1529 Long PM[VERT_Nmax][POLY_Dmax]; for(i=0;i<p;i++)
1552 void Print_GLZ(GL_Long G[][POLY_Dmax],int d,const char *c)
1556 typedef struct {GL_Long x[POLY_Dmax][POLY_Dmax];} DxD; /* workaround for -O3 */
1559 GL_Long GE[POLY_Dmax][POLY_Dmax], *ge[POLY_Dmax];
1563 { int i,j,nz=0,newf=1; GL_Long *b[POLY_Dmax], X[POLY_Dmax];
1566 { GL_Long Binv[POLY_Dmax][POLY_Dmax];
1594 void IP_Simplex_Fiber(Long PM[][POLY_Dmax], int p, int d, /* need PM[i]!=0 */
1596 { int n,i,j, s[POLY_Dmax+1]; int *nw=&F->nw; /* nw=#IP_Simp <= Wmax */
1597 GL_Long T[POLY_Dmax+1][POLY_Dmax],*X=T[0], **G[POLY_Dmax],*GN[POLY_Dmax],
1598 *GI[POLY_Dmax][POLY_Dmax], GX[(POLY_Dmax*(POLY_Dmax+3))/2][POLY_Dmax];
1619 void IP_Simplex_Decomp(Long PM[][POLY_Dmax], int p, int d, /* need PM[i]!=0 */
1621 { int n,i,j, s[POLY_Dmax+1]; FibW *FW=NULL;
1622 GL_Long T[POLY_Dmax+1][POLY_Dmax],*X=T[0], **G[POLY_Dmax],*GN[POLY_Dmax],
1623 *GI[POLY_Dmax][POLY_Dmax], GX[(POLY_Dmax*(POLY_Dmax+3))/2][POLY_Dmax];
1644 { Long VM[VERT_Nmax][POLY_Dmax]; int i,j, d=P->n, e=E->ne, v=V->nv;
1682 GL_Long G[POLY_Dmax][POLY_Dmax],Ginv[POLY_Dmax][POLY_Dmax];
1746 void Check_New_Fiber(Long PM[][POLY_Dmax],int*,int*,int,FibW*)
1749 void Check_New_Fiber(Long PM[][POLY_Dmax],int *d,
1752 GL_Long Ginv[POLY_Dmax][POLY_Dmax];
1803 { Long Z[POLY_Dmax][VERT_Nmax], G[POLY_Dmax][POLY_Dmax], M[POLY_Dmax],
1804 D[POLY_Dmax]; int i,j,r;
1834 { Long P[VERT_Nmax][POLY_Dmax];
1889 Long G[VERT_Nmax][POLY_Dmax][POLY_Dmax],int fd[VERT_Nmax],int *nf,int CD)
1903 Long AuxColGCD(int *d, int l, GL_Long G[][POLY_Dmax], Long *X)
1916 int GL_Lattice_Basis(int d, int p, Long *P[POLY_Dmax], /* return index */
1917 GL_Long GM[][POLY_Dmax], Long *D, GL_Long BM[][POLY_Dmax])
1918 { int L,C;Long g,a,index=1;GL_Long V[POLY_Dmax],*G[POLY_Dmax],*B[POLY_Dmax];
1946 int Make_Lattice_Basis(int d, int p, Long *P[POLY_Dmax], /* index=det(D) */
1947 Long G[][POLY_Dmax], Long *D) /* G x P generates diagonal lattice D */
1948 { int i,j,I; GL_Long GLG[POLY_Dmax][POLY_Dmax], Ginv[POLY_Dmax][POLY_Dmax];
1953 void Old_QuotZ_2_SublatG(Long Z[][POLY_Dmax],int *m,int *M,int *d,
1954 Long G[][POLY_Dmax]) /* normalize and diagonalize Z */
1955 { int i,j,k,r;GL_Long GT[POLY_Dmax][POLY_Dmax],Ginv[POLY_Dmax][POLY_Dmax];
1956 Long g, A[POLY_Dmax][VERT_Nmax];
1994 void Print_QuotientZ(int *r,int *p,Long Z[POLY_Dmax][VERT_Nmax],Long *M)
2000 void Normalize_QuotientZ(int *r,int *p,Long Z[POLY_Dmax][VERT_Nmax],Long *M)
2030 void Test_Effective_Zaction(int *r,int *d,Long Z[POLY_Dmax][VERT_Nmax],Long *M)
2038 Long G[][POLY_Dmax]) /* normalize and diagonalize Z */
2039 { int i,j,r;GL_Long GT[POLY_Dmax][POLY_Dmax],Ginv[POLY_Dmax][POLY_Dmax];
2040 Long A[POLY_Dmax][VERT_Nmax];
2063 GL_Long GM[][POLY_Dmax], GL_Long BM[][POLY_Dmax]);
2067 int PM_2_QuotientZ(Long PM[VERT_Nmax][POLY_Dmax], int *d, int *p,
2068 Long Z[POLY_Dmax][VERT_Nmax], Long M[POLY_Dmax], int *n)
2069 { int i,j,I,rk=0; GL_Long G[POLY_Dmax][POLY_Dmax],B[POLY_Dmax][POLY_Dmax];
2070 Long D[POLY_Dmax],*P[VERT_Nmax];for(j=0;j<*p;j++)P[j]=PM[j];
2085 void Aux_Mat_2_QuotientZ(GL_Long T[][POLY_Dmax],int *D,int *np,int *d,int *s,
2087 { int i,j, rk,p=*d+1, *z[POLY_Dmax], *m=NULL;
2088 Long PM[VERT_Nmax][POLY_Dmax], M[POLY_Dmax], Z[POLY_Dmax][VERT_Nmax];
2113 int TriMat_to_WeightZ(GL_Long T[][POLY_Dmax], int *d,int *p,int r,int *s,
2119 Long AuxLinRelGPZ(Long *A,int *j,Long *D,int *d,Long GP[][POLY_Dmax],int *p,
2137 int ImprovePhase(int L,Long *A,Long *D,int *d,Long GP[][POLY_Dmax],int *p,
2155 GL_Long GM[][POLY_Dmax], GL_Long BM[][POLY_Dmax])
2156 { Long g,a,index=1,*Y; GL_Long V[POLY_Dmax], *G[POLY_Dmax], *B[POLY_Dmax];
2157 int L,C, tz=(p<VERT_Nmax); Long GP[VERT_Nmax][POLY_Dmax], A[VERT_Nmax];
2254 Long G[][POLY_Dmax], Long *D) /* G x P generates diagonal lattice D */
2255 { int i,j,I; GL_Long GLG[POLY_Dmax][POLY_Dmax], Ginv[POLY_Dmax][POLY_Dmax];
2321 Long Z[POLY_Dmax][VERT_Nmax], G[POLY_Dmax][POLY_Dmax], M[POLY_Dmax],
2322 D[POLY_Dmax], VM[VERT_Nmax][POLY_Dmax], W[FIB_Nmax][VERT_Nmax],
2396 { Long vB[POLY_Dmax],vol,Z; int e,j;
2406 if(POLY_Dmax*VERT_Nmax<gP->np){puts("increase dim of IP");exit(0);}
2431 if(POLY_Dmax*VERT_Nmax<gP->np){puts("increase dim of IP");exit(0);}
2446 { int i, r=1, c=0; Long G[POLY_Dmax];
2472 EqList *E, Long VM[POLY_Dmax][VERT_Nmax])
2474 assert(P->n<POLY_Dmax); assert(P->np<POINT_Nmax);
2506 { int e,err=0; Long VM[POLY_Dmax][VERT_Nmax];
2526 Long VM[POLY_Dmax][VERT_Nmax], int *cc){
2605 int e,d=P->n,np=P->np-1,z,n=V->nv,nc=0,D[VERT_Nmax],p[POLY_Dmax],symDP=1;
2609 if(FanoProjNPmax<=np)return 0; assert(d<POLY_Dmax);assert(E->ne<=VERT_Nmax);
2614 for(e=0;e<E->ne;e++){Long *Y[POLY_Dmax]; int i=0;
2619 else {int p1=0,m1=0,p2=0,m2=0,sum=0; Long C[POLY_Dmax]; assert(i==d+1);
2678 else {int Y[POLY_Dmax]; assert(x==d+1); /* circuit facet case */