40 bool reverse =
false, bound =
false;
42 while ((opt = getopt(argc, argv,
"bhrD")) != -1) {
44 case 'r': reverse =
true;
break;
45 case 'b': bound =
true;
break;
46 case 'D':
debug++;
break;
49 "usage: %s [-r or -b] variables... < system\n"
50 "\tdefault: project listed variables\n"
51 "\t-r: project all but the listed variables\n"
52 "\t-b: show bounds on listed variables\n",
59 assert(!(reverse && bound));
69 for (
int i =
optind; i < argc; i++)
73 if (reverse || bound) {
Pbase base_add_variable(Pbase b, Variable var)
Pbase base_add_variable(Pbase b, Variable v): add variable v as a new dimension to basis b at the end...
Pbase base_remove_variable(Pbase b, Variable v)
Pbase base_remove_variable(b, v): remove basis vector relative to v from b; abort if v is not in b;.
char * variable_default_name(Variable v)
char * variable_default_name(Variable v): returns the name of variable v
void debug(const int the_expected_debug_level, const char *calling_function_name, const char *a_message_format,...)
ARARGS0.
void sc_rm(Psysteme ps)
void sc_rm(Psysteme ps): liberation de l'espace memoire occupe par le systeme de contraintes ps;
Psysteme sc_copy(Psysteme ps)
Psysteme sc_copy(Psysteme ps): duplication d'un systeme (allocation et copie complete des champs sans...
void sc_fprint(FILE *fp, Psysteme ps, get_variable_name_t nom_var)
void sc_fprint(FILE * f, Psysteme ps, char * (*nom_var)()): cette fonction imprime dans le fichier po...
bool sc_fscan(FILE *f, Psysteme *ps)
bool sc_fscan(FILE * f, Psysteme * ps): construit un systeme d'inegalites et d'egalites lineaires a p...
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
char * sc_internal_symbol_table(char *)
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
@ keep
bj > b1 -> h1/hj = h1
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....
#define BASE_NULLE
MACROS SUR LES BASES.
Pbase vect_copy(Pvecteur b)
direct duplication.