25 #include "pips_config.h"
44 for(i = 0; i<nvar; i++)
56 int integrer(ptp, pcontext,
D, pnvar, pnparm, pni, pnc)
58 int *pnvar, *pnparm, *pni, *pnc;
60 {
int ncol = *pnvar+*pnparm+1;
61 int nligne = *pnvar + *pni;
65 int ok_var, ok_const, ok_parm;
66 if(
D == 1)
return(-1);
70 fprintf(stderr,
"Trop de colonnes : %d\n", ncol);
73 for(i = 0; i<*pnvar; i++)
76 if(ff &
Unit)
continue;
78 for(j = 0; j<*pnvar; j++)
80 if(
x > 0) ok_var =
True;
82 if(! ok_var)
continue;
87 for(j = (*pnvar)+1; j<ncol; j++)
91 if(
x != 0) ok_parm =
True;
95 for(j = 0; j<ncol; j++)
printf(
" %d",coupure[j]);
103 fprintf(stderr,
"Trop de parametres : %d\n", *pnparm);
110 for(j = 0; j<*pnparm; j++)
sol_val(-coupure[j+*pnvar+1]/d, 1);
111 sol_val(-coupure[*pnvar]/d, 1);
113 for(j = 0; j<*pnparm; j++)
114 {
x = coupure[j+*pnvar+1];
118 discrp[*pnparm] = -
D;
121 discrp[(*pnparm)+1] = -
x;
122 discrm[(*pnparm)+1] = -
x +
D -1;
123 if((*pnc) +2 > (*pcontext)->height ||
124 (*pnparm) + 2 > (*pcontext)->width)
127 dch = 2 * dcw + *pni;
128 Flag(*pcontext, *pnc) = 0;
129 *pcontext =
expanser(*pcontext, 0, *pnc, *pnparm+1, 0,
133 for(k = 0; k < *pnc; k++)
134 {
Index(*pcontext, k, *pnparm) =
135 Index(*pcontext, k, (*pnparm)-1);
136 Index(*pcontext, k, (*pnparm)-1) = 0;
138 for(j = 0; j <= *pnparm; j++)
139 {
Index(*pcontext, *pnc, j) = discrp[j];
140 Index(*pcontext, *pnc + 1, j) = discrm[j];
148 else if(ok_const)
break;
150 if(i >= *pnvar)
return(-1);
153 if(nligne >= (*ptp)->height || ncol >= (*ptp)->width)
157 dth = d + (*pnparm? *pni : 0);
158 dtw = (*pnparm ? d : 0);
159 *ptp =
expanser(*ptp, *pnvar, *pni, ncol, 0, dth, dtw);
161 ncol = *pnvar + *pnparm + 1;
163 for(j = 0; j<ncol; j++)
Index(*ptp, nligne, j) = coupure[j];
164 for(j = ncol; j < (*ptp)->width; j++)
Index(*ptp, nligne, j) =0;
Entier sol_mod(Entier x, Entier y)
int integrer(Tableau **ptp, Tableau **pcontext, int D, int *pnvar, int *pnparm, int *pni, int *pnc)
int non_borne(Tableau *tp, int nvar, Entier D, int bigparm)
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...