25 #include "pips_config.h"
62 for (i=1; i<=n; i++) {
63 for (j=1,pb=
base,pv=NULL; j<=n; j++,pb=pb->
succ)
82 for (pv=pv_old; pv!=NULL; pv=pv->
succ)
99 for(b=to_erase; b!=NULL; b=b->
succ)
121 for (; lex!=NULL; lex=
CDR(lex)) {
171 l_ex,pvg,base_oldindex);
181 l_ex,pvg,base_oldindex);
void free_expression(expression p)
static reference ref
Current stmt (an integer)
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...
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.
expression expression_to_expression_newbase(expression e_old, pvg, Pbase base_oldindex)
expression expression_to_expression_newbase(expression e_old,Pvecteur pvg[], Pbase base_oldindex) com...
Pvecteur vect_change_base(Pvecteur pv_old, Pbase base_oldindex, pvg)
Pvecteur vect_change_base(Pvecteur pv_old, Pvecteur pvg[], Pbase base_oldindex, Pbase base_newindex) ...
void scanning_base_to_vect(matrice G, int n, Pbase base, pvg)
void scanning_base_to_vect(matrice G,int n,Pbase base,Pvecteur pvg[n]) compute G*base and put the res...
cons * listexpres_to_listexpres_newbase(cons *lex, pvg, Pbase base_oldindex)
cons listexpres_to_listexpres_newbase(cons *lex, Pvecteur pvg[], Pbase base_oldindex) compute the new...
void statement_newbase(statement s, pvg, Pbase base_oldindex)
statement_newbase(statement s, Pvecteur pvg[], Pbase base_oldindex) compute the new statement by perf...
list gen_nreverse(list cp)
reverse a list in place
#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)
#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 CDR(pcons)
Get the list less its first element.
#define ACCESS(matrix, column, i, j)
Macros d'acces aux elements d'une matrice.
Value * matrice
package matrice
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
#define pips_internal_error
#define NORMALIZE_EXPRESSION(e)
#define is_instruction_block
soft block->sequence transition
#define instruction_block(i)
const char * entity_name_or_TCST(entity e)
Return a name valid for sorting variables in vectors and constraint systems.
expression make_vecteur_expression(Pvecteur pv)
make expression for vector (Pvecteur)
#define syntax_reference_p(x)
#define syntax_reference(x)
#define normalized_linear_p(x)
#define forloop_initialization(x)
#define forloop_increment(x)
#define instruction_loop(x)
#define instruction_goto(x)
#define range_increment(x)
#define EXPRESSION(x)
EXPRESSION.
@ is_instruction_unstructured
@ is_instruction_whileloop
#define instruction_tag(x)
#define normalized_tag(x)
#define reference_indices(x)
#define instruction_forloop(x)
#define test_condition(x)
#define instruction_whileloop(x)
#define whileloop_body(x)
#define statement_instruction(x)
#define instruction_call(x)
#define forloop_condition(x)
#define call_arguments(x)
#define instruction_test(x)
#define whileloop_condition(x)
#define normalized_linear(x)
#define expression_syntax(x)
#define STATEMENT(x)
STATEMENT.
#define G(j, a, b)
maybe most of them should be functions?
Pvecteur vect_multiply(Pvecteur v, Value x)
Pvecteur vect_multiply(Pvecteur v, Value x): multiplication du vecteur v par le scalaire x,...
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)
struct Svecteur * Pvecteur
#define BASE_NULLE
MACROS SUR LES BASES.
Pvecteur vect_dup(Pvecteur v_in)
Pvecteur vect_dup(Pvecteur v_in): duplication du vecteur v_in; allocation de et copie dans v_out;.
Pvecteur vect_add(Pvecteur v1, Pvecteur v2)
package vecteur - operations binaires
void vect_erase_var(Pvecteur *ppv, Variable v)
void vect_erase_var(Pvecteur * ppv, Variable v): projection du vecteur *ppv selon la direction v (i....
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...