27 #include "pips_config.h"
69 less = pv1<pv2? 1 : -1;
113 pips_debug(8,
"rank_index = %d\n", rank_index);
119 fprintf(stderr,
"Constraints before sorting:\n");
124 fprintf(stderr,
"Constraints after sorting:\n");
133 if (
ABS(i)==rank_index){
135 (void)
fprintf(stderr,
"\n constraint before :");
160 if (
ABS(i)==rank_index){
162 (void)
fprintf(stderr,
"\n constraint before :");
call make_call(entity a1, list a2)
expression make_expression(syntax a1, normalized a2)
syntax make_syntax(enum syntax_utype tag, void *val)
struct _newgen_struct_entity_ * entity
#define ABS(x)
was: #define value_mult(v,w) value_direct_multiply(v,w) #define value_product(v,w) value_direct_produ...
int base_find_variable_rank(Pbase b, Variable v, char *(*variable_name)(Variable))
int base_find_variable_rank(Pbase b, Variable v, char * (*variable_name)()): returns variable v's ran...
bdt base
Current expression.
int level_contrainte(Pcontrainte, Pbase)
int level_contrainte(Pcontrainte pc, Pbase base_index) compute the level (rank) of the constraint pc ...
void contrainte_fprint(FILE *, Pcontrainte, bool, char *(*)(Variable))
io.c
entity get_current_module_entity(void)
Get the entity of the current module.
list gen_nreverse(list cp)
reverse a list in place
#define NIL
The empty list (nil in Lisp)
size_t gen_length(const list l)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
#define CAR(pcons)
Get the value of the first element of a list.
void gen_free_list(list l)
free the spine of the list
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
#define MAX_OPERATOR_NAME
#define PIPS_C_MAX_OPERATOR_NAME
#define PIPS_C_MIN_OPERATOR_NAME
PIPS run-time support for C code generation.
#define MIN_OPERATOR_NAME
int bound_generation_compare_vector_component(Pvecteur *pv1, Pvecteur *pv2)
Generation of bound expressions from constraint systems of the Linear library.
void make_bound_expression(Variable index, Pbase base, Psysteme sc, expression *lower, expression *upper)
void make_bound_expression(variable index, Pbase base, Psysteme sc, expression *lower,...
const char * entity_user_name(entity e)
Since entity_local_name may contain PIPS special characters such as prefixes (label,...
const char * entity_name_or_TCST(entity e)
Return a name valid for sorting variables in vectors and constraint systems.
entity entity_intrinsic(const char *name)
FI: I do not understand this function name (see next one!).
expression make_constraint_expression(Pvecteur v, Variable index)
Make an expression from a constraint v for a given index.
expression int_to_expression(_int i)
transform an int into an expression and generate the corresponding entity if necessary; it is not cle...
bool c_language_module_p(entity m)
#define normalized_undefined
#define EXPRESSION(x)
EXPRESSION.
void sc_dump(Psysteme sc)
void sc_dump(Psysteme sc): dump to stderr
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
void sc_lexicographic_sort(Psysteme sc, int(*compare)(Pvecteur *, Pvecteur *))
Minimize first the lexico-graphic weight of each constraint according to the comparison function "com...
Pvecteur vect_multiply(Pvecteur v, Value x)
Pvecteur vect_multiply(Pvecteur v, Value x): multiplication du vecteur v par le scalaire x,...
struct Scontrainte * succ
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
The structure used to build lists in NewGen.
char *(* get_variable_name_t)(Variable)
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....
Pbase vect_copy(Pvecteur b)
direct duplication.
void vect_rm(Pvecteur v)
void vect_rm(Pvecteur v): desallocation des couples de v;