25 #include "pips_config.h"
53 #define PREMIERE_VAR1_BASE premiere_var1 == 0
54 #define RESET_PREMIERE_VAR1 premiere_var1 = 0;
55 #define SET_PREMIERE_VAR1 premiere_var1 = 1;
56 #define PREMIERE_VAR_BASE premiere_var == 0
57 #define RESET_PREMIERE_VAR premiere_var = 0;
58 #define SET_PREMIERE_VAR premiere_var = 1;
59 #define OLD_VAR(x) x->var==NULL
62 #define VARSUPP "Variable_pour_max_en_min_q"
338 (
char *) newparms_aux);
615 for ( ;vect_aux1 != NULL ; vect_aux1 =vect_aux1->
succ)
618 bbase_aux->var = NULL;
619 bbase_aux->ent = NULL;
620 bbase_aux->succ = NULL;
625 new_base_aux1 = bbase_aux;
630 new_base_aux1->
succ = bbase_aux;
631 new_base_aux1 = new_base_aux1->
succ;
675 debug(8,
"make_scalar_integer_entity",
"begin name=%s, module_name=%s\n",
732 { new_base_aux1 = new_base_aux1->
succ;}
738 new_var->
ent = enti_act;
743 new_pile->
act = new_var;
748 new_var->
succ = new_base_aux1->
succ;
749 new_base_aux1->
succ = new_var;
750 new_pile->
pred = new_base_aux1;
756 new_pile->
pred = NULL;
844 if ( (p_base1 == NULL) || (
OLD_VAR(p_base1)) )
1034 int garde_min_max =
MY_MIN;
1044 if (garde_min_max ==
MY_MAX)
1075 int garde_min_max =
MY_MIN;
1084 if (garde_min_max ==
MY_MAX)
var_val make_var_val(entity a1, expression a2)
void write_quast(FILE *f, quast p)
quast_value make_quast_value(enum quast_value_utype tag, void *val)
quast make_quast(quast_value a1, list a2)
conditional make_conditional(predicate a1, quast a2, quast a3)
quast_leaf make_quast_leaf(list a1, leaf_label a2)
basic make_basic(enum basic_utype tag, void *val)
predicate make_predicate(Psysteme a1)
struct _newgen_struct_type_ * type
Pcontrainte contrainte_new(void)
package contrainte - allocations et desallocations
string make_entity_fullname(const char *module_name, const char *local_name)
END_EOLE.
const char * module_name(const char *s)
Return the module part of an entity name.
#define NIL
The empty list (nil in Lisp)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
list gen_nconc(list cp1, list cp2)
physically concatenates CP1 and CP2 but do not duplicates the elements
#define CDR(pcons)
Get the list less its first element.
list gen_append(list l1, const list l2)
#define full_name(dir, name)
void debug(const int the_expected_debug_level, const char *calling_function_name, const char *a_message_format,...)
ARARGS0.
#define TOP_LEVEL_MODULE_NAME
Module containing the global variables in Fortran and C.
#define MODULE_SEP_STRING
string concatenate(const char *,...)
Return the concatenation of the given strings.
void * gen_find_tabulated(const char *, int)
#define quast_value_undefined
@ is_quast_value_quast_leaf
@ is_quast_value_conditional
#define VAR_VAL(x)
VAR_VAL.
#define leaf_label_undefined
Pbase old_base
Base of the parameters.
Pbase base_ref
Base of the unknowns.
quast quast_act
Global variables
Pbase base_var_ref
Tag for MIN or MAX resolution.
#define MINUS_OPERATOR_NAME
#define PLUS_OPERATOR_NAME
#define make_entity(n, t, s, i)
#define DIVIDE_OPERATOR_NAME
#define UNARY_MINUS_OPERATOR_NAME
#define MULTIPLY_OPERATOR_NAME
const char * entity_local_name(entity e)
entity_local_name modified so that it does not core when used in vect_fprint, since someone thought t...
expression make_factor_expression(int coeff, entity vari)
Some functions to generate expressions from vectors and constraint systems.
expression int_to_expression(_int i)
transform an int into an expression and generate the corresponding entity if necessary; it is not cle...
expression make_op_exp(char *op_name, expression exp1, expression exp2)
================================================================
expression MakeUnaryCall(entity f, expression a)
Creates a call expression to a function with one argument.
type MakeTypeVariable(basic, cons *)
BEGIN_EOLE.
#define EXPRESSION(x)
EXPRESSION.
#define entity_domain
newgen_syntax_domain_defined
#define storage_undefined
void sc_creer_base(Psysteme ps)
void sc_creer_base(Psysteme ps): initialisation des parametres dimension et base d'un systeme lineair...
Psysteme sc_new(void)
Psysteme sc_new(): alloue un systeme vide, initialise tous les champs avec des valeurs nulles,...
struct baseaux * Pbaseaux
conditional conditional_act
static Ppilequast quast_true
void fait_quast()
Name: fait_quast.
static Pbaseaux new_base_ref
void ecrit_coeff_neg2(int ent)
Name: ecrit_coeff_neg2.
void ajoute_new_var(int ent, int rang)
Name: ajoute_new_var.
void creer_Psysteme()
Name: creer_Psysteme.
void ecrit_une_var(int ent)
Name: ecrire_une_var.
static Ppilepredicat predicate_act
void ecrit_liste_vecteur()
Name: ecrit_liste_vecteur.
#define PREMIERE_VAR_BASE
void ecrit_coeff2(int ent)
Name: ecrire_coeff2 .
entity creer_nom_entite(char *module_name)
Name: creer_nom_entite.
void ecrit_resultat()
TEMPORAIRE
struct pilequast pilequast
void retire_par_de_pile()
Name: retire_par_de_pile.
struct pilequast * Ppilequast
void creer_true_quast()
Name: creer_true_quast.
quast_value quast_value_act
void init_liste_vecteur()
Name: init_liste_vecteur.
void ajoute_constante(int ent)
Name: ajoute_constante
void fait_quast_value()
Name: fait_quast_value.
void init_vecteur()
Name: init_vecteur.
void ecrit_une_var_neg(int ent)
Name: ecrit_une_var_neg.
expression expression_act
void creer_predicat()
Name: creer_predicat.
struct pilepredicat * Ppilepredicat
void creer_quast_value()
Name: creer_quast_value
void ecrit_coeff1(int ent)
Name: ecrit_coeff1.
void init_quast()
Name: init_quast.
struct pileaux * Ppileaux
static Pbaseaux new_base_aux
void init_new_base()
Name: init_new_base.
struct pilepredicat pilepredicat
#define RESET_PREMIERE_VAR
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
The structure used to build lists in NewGen.
struct pilepredicat * succ
#define TCST
VARIABLE REPRESENTANT LE TERME CONSTANT.
struct Svecteur * Pvecteur
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....
void vect_add_elem(Pvecteur *pvect, Variable var, Value val)
void vect_add_elem(Pvecteur * pvect, Variable var, Value val): addition d'un vecteur colineaire au ve...