32 #include "pips_config.h"
57 (void)
fprintf(stderr,
"(nil)\n");
61 c==args ?
"%s" :
", %s",
64 (void) putc(
'\n',stderr);
73 (void)
fprintf(stderr,
"(nil)\n");
77 c==args ?
"%s" :
", %s",
81 (void) putc(
'\n',stderr);
144 for( ca1 = a1, ca2 = a2; !
ENDP(ca1) && !
ENDP(ca2);
POP(ca1),
POP(ca2))
206 bool subset_p =
true;
255 for(ev = b; ev!=NULL; ev = ev->
succ) {
struct _newgen_struct_entity_ * entity
cons * arguments_union(cons *a1, cons *a2)
cons * arguments_union(cons * a1, cons * a2): returns a = union(a1, a2) where a1 and a2 are lists of ...
void print_homogeneous_arguments(list args, const char *variable_name(entity))
Functions dealing with entity lists.
cons * dup_arguments(cons *args)
void free_arguments(cons *args)
bool arguments_set_equal_p(list a1, list a2)
Set equality of lists a1 and a2.
bool entity_is_argument_p(entity e, cons *args)
cons * arguments_add_entity(cons *a, entity e)
bool arguments_subset_p(list a1, list a2)
Check if a1 is a subset of a2.
cons * arguments_rm_entity(cons *a, entity e)
void dump_arguments(cons *args)
entity_name is a macro, hence the code replication
cons * arguments_difference(cons *a1, cons *a2)
set difference: a1 - a2 ; similar to set intersection
list base_to_entities(Pvecteur b)
generate a Newgen list with all entities refered in vector b
bool arguments_equal_p(list a1, list a2)
Check the syntactic equality of lists a1 and a2.
list arguments_intersection(list a1, list a2)
Build a new list with all entities occuring in both a1 and a2.
#define chunk_undefined
obsolete
#define ENDP(l)
Test if a list is empty.
list gen_nreverse(list cp)
reverse a list in place
void gen_remove(list *cpp, const void *o)
remove all occurences of item o from list *cpp, which is thus modified.
#define POP(l)
Modify a list pointer to point on the next element of the list.
#define NIL
The empty list (nil in Lisp)
list gen_copy_seq(list l)
Copy a list structure.
#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 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 FOREACH(_fe_CASTER, _fe_item, _fe_list)
Apply/map an instruction block on all the elements of a list.
void * gen_find_eq(const void *item, const list seq)
#define MAPL(_map_list_cp, _code, _l)
Apply some code on the addresses of all the elements of a list.
#define pips_internal_error
bool set_equal_p(const set, const set)
returns whether s1 == s2
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
char * variable_name(Variable v)
polynome_ri.c
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
The structure used to build lists in NewGen.