25 #include "pips_config.h"
78 #define error(fun, msg) { \
79 fprintf(stderr, "pips internal error in %s: %s\n", fun, msg); exit(2); \
86 static Psysteme undefined_s = SC_UNDEFINED;
97 if(SC_UNDEFINED_P(s)) {
98 if(SC_UNDEFINED_P(undefined_s))
100 stored_s = undefined_s;
105 pips_assert(
"sc_gen_write",!SC_UNDEFINED_P(stored_s));
113 (void) fputc(
'(',fd);
117 (void) fputc(
'(',fd);
120 (void) fputc(
' ', fd);
124 (void) fputc(
')',fd);
126 (void) fputc(
'(',fd);
129 (void) fputc(
' ', fd);
133 (void) fputc(
')',fd);
135 (void) fputc(
')',fd);
144 if ((c =
f()) !=
'(') {
145 error(
"sc_gen_read",
"initial '(' missing\n");
150 if ((c =
f()) !=
'(') {
151 error(
"sc_gen_read",
"equalities '(' missing\n");
154 while ((c =
f()) !=
')') {
163 if ((c =
f()) !=
'(') {
164 error(
"sc_gen_read",
"inequalities '(' missing\n");
167 while ((c =
f()) !=
')') {
176 if ((c =
f()) !=
')') {
177 error(
"sc_gen_read",
"closing ')' missing\n");
void sc_gen_write(FILE *fd, Psysteme s)
Psc.c.
Psysteme sc_gen_read(FILE *fd, int(*f)())
Psysteme sc_gen_copy_tree(Psysteme s)
#define error(fun, msg)
NewGen interface with C3 type Psysteme for PIPS project.
int sc_gen_allocated_memory(Psysteme s)
void sc_gen_free(Psysteme s)
#define CONTRAINTE_UNDEFINED
Pcontrainte contrainte_make(Pvecteur pv)
Pcontrainte contrainte_make(Pvecteur pv): allocation et initialisation d'une contrainte avec un vecte...
int vect_size(Pvecteur v)
package vecteur - reductions
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
void vect_gen_write(FILE *, Pvecteur)
Pvecteur.c.
Pvecteur vect_gen_read(FILE *, int(*)(void))
int contrainte_gen_allocated_memory(Pcontrainte)
int vect_gen_allocated_memory(Pvecteur)
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
Psysteme sc_make(Pcontrainte leg, Pcontrainte lineg)
Psysteme sc_make(Pcontrainte leg, Pcontrainte lineg): allocation et initialisation d'un systeme d'equ...
void sc_rm(Psysteme ps)
void sc_rm(Psysteme ps): liberation de l'espace memoire occupe par le systeme de contraintes ps;
void sc_add_egalite(Psysteme p, Pcontrainte e)
void sc_add_egalite(Psysteme p, Pcontrainte e): macro ajoutant une egalite e a un systeme p; la base ...
Psysteme sc_new(void)
Psysteme sc_new(): alloue un systeme vide, initialise tous les champs avec des valeurs nulles,...
void sc_add_inegalite(Psysteme p, Pcontrainte i)
void sc_add_inegalite(Psysteme p, Pcontrainte i): macro ajoutant une inegalite i a un systeme p; la b...
Psysteme sc_copy(Psysteme ps)
Psysteme sc_copy(Psysteme ps): duplication d'un systeme (allocation et copie complete des champs sans...
struct Scontrainte * succ
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique