PIPS
reduction.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _newgen_struct_gexpression_
 
struct  _newgen_struct_pattern_
 
struct  _newgen_struct_reduced_loops_
 
struct  _newgen_struct_sexpression_
 

Macros

#define _gen_reduction_start   104
 
#define _newgen_expression_domain_defined_
 
#define EXPRESSION_NEWGEN_DOMAIN   (expression_domain)
 
#define expression_NEWGEN_DOMAIN   (expression_domain)
 
#define _newgen_entity_domain_defined_
 newgen_expression_domain_defined More...
 
#define ENTITY_NEWGEN_DOMAIN   (entity_domain)
 
#define entity_NEWGEN_DOMAIN   (entity_domain)
 
#define gexpression_domain   (_gen_reduction_start+0)
 newgen_entity_domain_defined More...
 
#define _newgen_gexpression_domain_defined_
 
#define GEXPRESSION_NEWGEN_DOMAIN   (gexpression_domain)
 
#define gexpression_NEWGEN_DOMAIN   (gexpression_domain)
 
#define pattern_domain   (_gen_reduction_start+1)
 newgen_gexpression_domain_defined More...
 
#define _newgen_pattern_domain_defined_
 
#define PATTERN_NEWGEN_DOMAIN   (pattern_domain)
 
#define pattern_NEWGEN_DOMAIN   (pattern_domain)
 
#define reduced_loops_domain   (_gen_reduction_start+2)
 newgen_pattern_domain_defined More...
 
#define _newgen_reduced_loops_domain_defined_
 
#define REDUCED_LOOPS_NEWGEN_DOMAIN   (reduced_loops_domain)
 
#define reduced_loops_NEWGEN_DOMAIN   (reduced_loops_domain)
 
#define sexpression_domain   (_gen_reduction_start+3)
 newgen_reduced_loops_domain_defined More...
 
#define _newgen_sexpression_domain_defined_
 
#define SEXPRESSION_NEWGEN_DOMAIN   (sexpression_domain)
 
#define sexpression_NEWGEN_DOMAIN   (sexpression_domain)
 
#define GEXPRESSION(x)   ((gexpression)((x).p))
 newgen_sexpression_domain_defined More...
 
#define gexpression_CAST(x)   GEXPRESSION(x)
 
#define GEXPRESSION_CAST(x)   GEXPRESSION(x)
 
#define GEXPRESSION_(x)   ((x).e)
 
#define GEXPRESSION_TYPE   gexpression
 
#define gexpression_TYPE   gexpression
 
#define gexpression_undefined   ((gexpression)gen_chunk_undefined)
 
#define gexpression_undefined_p(x)   ((x)==gexpression_undefined)
 
#define gen_GEXPRESSION_cons   gen_gexpression_cons
 
#define gexpression_domain_number(x)   ((x)->_type_)
 
#define gexpression_guard_(x)   gexpression_guard(x) /**old hack compatible */
 
#define gexpression_guard(x)   ((x)->_gexpression_guard_)
 
#define gexpression_expression_(x)   gexpression_expression(x) /**old hack compatible */
 
#define gexpression_expression(x)   ((x)->_gexpression_expression_)
 
#define PATTERN(x)   ((pattern)((x).p))
 PATTERN. More...
 
#define pattern_CAST(x)   PATTERN(x)
 
#define PATTERN_CAST(x)   PATTERN(x)
 
#define PATTERN_(x)   ((x).e)
 
#define PATTERN_TYPE   pattern
 
#define pattern_TYPE   pattern
 
#define pattern_undefined   ((pattern)gen_chunk_undefined)
 
#define pattern_undefined_p(x)   ((x)==pattern_undefined)
 
#define gen_PATTERN_cons   gen_pattern_cons
 
#define pattern_domain_number(x)   ((x)->_type_)
 
#define pattern_variable_(x)   pattern_variable(x) /**old hack compatible */
 
#define pattern_variable(x)   ((x)->_pattern_variable_)
 
#define pattern_condition_(x)   pattern_condition(x) /**old hack compatible */
 
#define pattern_condition(x)   ((x)->_pattern_condition_)
 
#define pattern_parameter_(x)   pattern_parameter(x) /**old hack compatible */
 
#define pattern_parameter(x)   ((x)->_pattern_parameter_)
 
#define pattern_operator_(x)   pattern_operator(x) /**old hack compatible */
 
#define pattern_operator(x)   ((x)->_pattern_operator_)
 
#define pattern_indices_(x)   pattern_indices(x) /**old hack compatible */
 
#define pattern_indices(x)   ((x)->_pattern_indices_)
 
#define REDUCED_LOOPS(x)   ((reduced_loops)((x).p))
 REDUCED_LOOPS. More...
 
#define reduced_loops_CAST(x)   REDUCED_LOOPS(x)
 
#define REDUCED_LOOPS_CAST(x)   REDUCED_LOOPS(x)
 
#define REDUCED_LOOPS_(x)   ((x).e)
 
#define REDUCED_LOOPS_TYPE   reduced_loops
 
#define reduced_loops_TYPE   reduced_loops
 
#define reduced_loops_undefined   ((reduced_loops)gen_chunk_undefined)
 
#define reduced_loops_undefined_p(x)   ((x)==reduced_loops_undefined)
 
#define gen_REDUCED_LOOPS_cons   gen_reduced_loops_cons
 
#define reduced_loops_domain_number(x)   ((x)->_type_)
 
#define reduced_loops_ordering(x)   ((x)->_reduced_loops_holder_)
 
#define SEXPRESSION(x)   ((sexpression)((x).p))
 SEXPRESSION. More...
 
#define sexpression_CAST(x)   SEXPRESSION(x)
 
#define SEXPRESSION_CAST(x)   SEXPRESSION(x)
 
#define SEXPRESSION_(x)   ((x).e)
 
#define SEXPRESSION_TYPE   sexpression
 
#define sexpression_TYPE   sexpression
 
#define sexpression_undefined   ((sexpression)gen_chunk_undefined)
 
#define sexpression_undefined_p(x)   ((x)==sexpression_undefined)
 
#define gen_SEXPRESSION_cons   gen_sexpression_cons
 
#define sexpression_domain_number(x)   ((x)->_type_)
 
#define sexpression_gexpressions(x)   ((x)->_sexpression_holder_)
 
#define reduction_spec   "\--NEWGEN-START 104\n\import expression from \"ri.newgen\";\n\import entity from \"ri.newgen\";\n\gexpression = guard:expression x expression:expression;\n\pattern = variable:entity x condition:expression x parameter:expression x operator:entity x indices:entity*;\n\reduced_loops = ordering:int*;\n\sexpression = gexpressions:gexpression*;\n\"
 

Typedefs

typedef struct _newgen_struct_expression_expression
 
typedef struct _newgen_struct_entity_entity
 
typedef struct _newgen_struct_gexpression_gexpression
 
typedef struct _newgen_struct_pattern_pattern
 
typedef struct _newgen_struct_reduced_loops_reduced_loops
 
typedef struct _newgen_struct_sexpression_sexpression
 

Functions

gexpression copy_gexpression (gexpression)
 GEXPRESSION. More...
 
void free_gexpression (gexpression)
 
gexpression check_gexpression (gexpression)
 
bool gexpression_consistent_p (gexpression)
 
bool gexpression_defined_p (gexpression)
 
list gen_gexpression_cons (gexpression, list)
 
void gexpression_assign_contents (gexpression, gexpression)
 
void gexpression_non_recursive_free (gexpression)
 
void write_gexpression (FILE *, gexpression)
 
gexpression read_gexpression (FILE *)
 
gexpression make_gexpression (expression, expression)
 
pattern copy_pattern (pattern)
 PATTERN. More...
 
void free_pattern (pattern)
 
pattern check_pattern (pattern)
 
bool pattern_consistent_p (pattern)
 
bool pattern_defined_p (pattern)
 
list gen_pattern_cons (pattern, list)
 
void pattern_assign_contents (pattern, pattern)
 
void pattern_non_recursive_free (pattern)
 
void write_pattern (FILE *, pattern)
 
pattern read_pattern (FILE *)
 
pattern make_pattern (entity, expression, expression, entity, list)
 
reduced_loops copy_reduced_loops (reduced_loops)
 REDUCED_LOOPS. More...
 
void free_reduced_loops (reduced_loops)
 
reduced_loops check_reduced_loops (reduced_loops)
 
bool reduced_loops_consistent_p (reduced_loops)
 
bool reduced_loops_defined_p (reduced_loops)
 
list gen_reduced_loops_cons (reduced_loops, list)
 
void reduced_loops_assign_contents (reduced_loops, reduced_loops)
 
void reduced_loops_non_recursive_free (reduced_loops)
 
void write_reduced_loops (FILE *, reduced_loops)
 
reduced_loops read_reduced_loops (FILE *)
 
reduced_loops make_reduced_loops (list)
 
sexpression copy_sexpression (sexpression)
 SEXPRESSION. More...
 
void free_sexpression (sexpression)
 
sexpression check_sexpression (sexpression)
 
bool sexpression_consistent_p (sexpression)
 
bool sexpression_defined_p (sexpression)
 
list gen_sexpression_cons (sexpression, list)
 
void sexpression_assign_contents (sexpression, sexpression)
 
void sexpression_non_recursive_free (sexpression)
 
void write_sexpression (FILE *, sexpression)
 
sexpression read_sexpression (FILE *)
 
sexpression make_sexpression (list)
 

Macro Definition Documentation

◆ _gen_reduction_start

#define _gen_reduction_start   104

Definition at line 3 of file reduction.h.

◆ _newgen_entity_domain_defined_

#define _newgen_entity_domain_defined_

newgen_expression_domain_defined

Definition at line 18 of file reduction.h.

◆ _newgen_expression_domain_defined_

#define _newgen_expression_domain_defined_

Definition at line 11 of file reduction.h.

◆ _newgen_gexpression_domain_defined_

#define _newgen_gexpression_domain_defined_

Definition at line 26 of file reduction.h.

◆ _newgen_pattern_domain_defined_

#define _newgen_pattern_domain_defined_

Definition at line 34 of file reduction.h.

◆ _newgen_reduced_loops_domain_defined_

#define _newgen_reduced_loops_domain_defined_

Definition at line 42 of file reduction.h.

◆ _newgen_sexpression_domain_defined_

#define _newgen_sexpression_domain_defined_

Definition at line 50 of file reduction.h.

◆ ENTITY_NEWGEN_DOMAIN

#define ENTITY_NEWGEN_DOMAIN   (entity_domain)

Definition at line 19 of file reduction.h.

◆ entity_NEWGEN_DOMAIN

#define entity_NEWGEN_DOMAIN   (entity_domain)

Definition at line 20 of file reduction.h.

◆ EXPRESSION_NEWGEN_DOMAIN

#define EXPRESSION_NEWGEN_DOMAIN   (expression_domain)

Definition at line 12 of file reduction.h.

◆ expression_NEWGEN_DOMAIN

#define expression_NEWGEN_DOMAIN   (expression_domain)

Definition at line 13 of file reduction.h.

◆ gen_GEXPRESSION_cons

#define gen_GEXPRESSION_cons   gen_gexpression_cons

Definition at line 72 of file reduction.h.

◆ gen_PATTERN_cons

#define gen_PATTERN_cons   gen_pattern_cons

Definition at line 108 of file reduction.h.

◆ gen_REDUCED_LOOPS_cons

#define gen_REDUCED_LOOPS_cons   gen_reduced_loops_cons

Definition at line 153 of file reduction.h.

◆ gen_SEXPRESSION_cons

#define gen_SEXPRESSION_cons   gen_sexpression_cons

Definition at line 185 of file reduction.h.

◆ GEXPRESSION

#define GEXPRESSION (   x)    ((gexpression)((x).p))

newgen_sexpression_domain_defined

GEXPRESSION

Definition at line 58 of file reduction.h.

◆ GEXPRESSION_

#define GEXPRESSION_ (   x)    ((x).e)

Definition at line 61 of file reduction.h.

◆ gexpression_CAST

#define gexpression_CAST (   x)    GEXPRESSION(x)

Definition at line 59 of file reduction.h.

◆ GEXPRESSION_CAST

#define GEXPRESSION_CAST (   x)    GEXPRESSION(x)

Definition at line 60 of file reduction.h.

◆ gexpression_domain

#define gexpression_domain   (_gen_reduction_start+0)

newgen_entity_domain_defined

Definition at line 24 of file reduction.h.

◆ gexpression_domain_number

#define gexpression_domain_number (   x)    ((x)->_type_)

Definition at line 86 of file reduction.h.

◆ gexpression_expression

#define gexpression_expression (   x)    ((x)->_gexpression_expression_)

Definition at line 90 of file reduction.h.

◆ gexpression_expression_

#define gexpression_expression_ (   x)    gexpression_expression(x) /**old hack compatible */

Definition at line 89 of file reduction.h.

◆ gexpression_guard

#define gexpression_guard (   x)    ((x)->_gexpression_guard_)

Definition at line 88 of file reduction.h.

◆ gexpression_guard_

#define gexpression_guard_ (   x)    gexpression_guard(x) /**old hack compatible */

Definition at line 87 of file reduction.h.

◆ GEXPRESSION_NEWGEN_DOMAIN

#define GEXPRESSION_NEWGEN_DOMAIN   (gexpression_domain)

Definition at line 27 of file reduction.h.

◆ gexpression_NEWGEN_DOMAIN

#define gexpression_NEWGEN_DOMAIN   (gexpression_domain)

Definition at line 28 of file reduction.h.

◆ GEXPRESSION_TYPE

#define GEXPRESSION_TYPE   gexpression

Definition at line 62 of file reduction.h.

◆ gexpression_TYPE

#define gexpression_TYPE   gexpression

Definition at line 63 of file reduction.h.

◆ gexpression_undefined

#define gexpression_undefined   ((gexpression)gen_chunk_undefined)

Definition at line 64 of file reduction.h.

◆ gexpression_undefined_p

#define gexpression_undefined_p (   x)    ((x)==gexpression_undefined)

Definition at line 65 of file reduction.h.

◆ PATTERN

#define PATTERN (   x)    ((pattern)((x).p))

PATTERN.

Definition at line 94 of file reduction.h.

◆ PATTERN_

#define PATTERN_ (   x)    ((x).e)

Definition at line 97 of file reduction.h.

◆ pattern_CAST

#define pattern_CAST (   x)    PATTERN(x)

Definition at line 95 of file reduction.h.

◆ PATTERN_CAST

#define PATTERN_CAST (   x)    PATTERN(x)

Definition at line 96 of file reduction.h.

◆ pattern_condition

#define pattern_condition (   x)    ((x)->_pattern_condition_)

Definition at line 129 of file reduction.h.

◆ pattern_condition_

#define pattern_condition_ (   x)    pattern_condition(x) /**old hack compatible */

Definition at line 128 of file reduction.h.

◆ pattern_domain

#define pattern_domain   (_gen_reduction_start+1)

newgen_gexpression_domain_defined

Definition at line 32 of file reduction.h.

◆ pattern_domain_number

#define pattern_domain_number (   x)    ((x)->_type_)

Definition at line 125 of file reduction.h.

◆ pattern_indices

#define pattern_indices (   x)    ((x)->_pattern_indices_)

Definition at line 135 of file reduction.h.

◆ pattern_indices_

#define pattern_indices_ (   x)    pattern_indices(x) /**old hack compatible */

Definition at line 134 of file reduction.h.

◆ PATTERN_NEWGEN_DOMAIN

#define PATTERN_NEWGEN_DOMAIN   (pattern_domain)

Definition at line 35 of file reduction.h.

◆ pattern_NEWGEN_DOMAIN

#define pattern_NEWGEN_DOMAIN   (pattern_domain)

Definition at line 36 of file reduction.h.

◆ pattern_operator

#define pattern_operator (   x)    ((x)->_pattern_operator_)

Definition at line 133 of file reduction.h.

◆ pattern_operator_

#define pattern_operator_ (   x)    pattern_operator(x) /**old hack compatible */

Definition at line 132 of file reduction.h.

◆ pattern_parameter

#define pattern_parameter (   x)    ((x)->_pattern_parameter_)

Definition at line 131 of file reduction.h.

◆ pattern_parameter_

#define pattern_parameter_ (   x)    pattern_parameter(x) /**old hack compatible */

Definition at line 130 of file reduction.h.

◆ PATTERN_TYPE

#define PATTERN_TYPE   pattern

Definition at line 98 of file reduction.h.

◆ pattern_TYPE

#define pattern_TYPE   pattern

Definition at line 99 of file reduction.h.

◆ pattern_undefined

#define pattern_undefined   ((pattern)gen_chunk_undefined)

Definition at line 100 of file reduction.h.

◆ pattern_undefined_p

#define pattern_undefined_p (   x)    ((x)==pattern_undefined)

Definition at line 101 of file reduction.h.

◆ pattern_variable

#define pattern_variable (   x)    ((x)->_pattern_variable_)

Definition at line 127 of file reduction.h.

◆ pattern_variable_

#define pattern_variable_ (   x)    pattern_variable(x) /**old hack compatible */

Definition at line 126 of file reduction.h.

◆ REDUCED_LOOPS

#define REDUCED_LOOPS (   x)    ((reduced_loops)((x).p))

REDUCED_LOOPS.

Definition at line 139 of file reduction.h.

◆ REDUCED_LOOPS_

#define REDUCED_LOOPS_ (   x)    ((x).e)

Definition at line 142 of file reduction.h.

◆ reduced_loops_CAST

#define reduced_loops_CAST (   x)    REDUCED_LOOPS(x)

Definition at line 140 of file reduction.h.

◆ REDUCED_LOOPS_CAST

#define REDUCED_LOOPS_CAST (   x)    REDUCED_LOOPS(x)

Definition at line 141 of file reduction.h.

◆ reduced_loops_domain

#define reduced_loops_domain   (_gen_reduction_start+2)

newgen_pattern_domain_defined

Definition at line 40 of file reduction.h.

◆ reduced_loops_domain_number

#define reduced_loops_domain_number (   x)    ((x)->_type_)

Definition at line 166 of file reduction.h.

◆ REDUCED_LOOPS_NEWGEN_DOMAIN

#define REDUCED_LOOPS_NEWGEN_DOMAIN   (reduced_loops_domain)

Definition at line 43 of file reduction.h.

◆ reduced_loops_NEWGEN_DOMAIN

#define reduced_loops_NEWGEN_DOMAIN   (reduced_loops_domain)

Definition at line 44 of file reduction.h.

◆ reduced_loops_ordering

#define reduced_loops_ordering (   x)    ((x)->_reduced_loops_holder_)

Definition at line 167 of file reduction.h.

◆ REDUCED_LOOPS_TYPE

#define REDUCED_LOOPS_TYPE   reduced_loops

Definition at line 143 of file reduction.h.

◆ reduced_loops_TYPE

#define reduced_loops_TYPE   reduced_loops

Definition at line 144 of file reduction.h.

◆ reduced_loops_undefined

#define reduced_loops_undefined   ((reduced_loops)gen_chunk_undefined)

Definition at line 145 of file reduction.h.

◆ reduced_loops_undefined_p

#define reduced_loops_undefined_p (   x)    ((x)==reduced_loops_undefined)

Definition at line 146 of file reduction.h.

◆ reduction_spec

#define reduction_spec   "\--NEWGEN-START 104\n\import expression from \"ri.newgen\";\n\import entity from \"ri.newgen\";\n\gexpression = guard:expression x expression:expression;\n\pattern = variable:entity x condition:expression x parameter:expression x operator:entity x indices:entity*;\n\reduced_loops = ordering:int*;\n\sexpression = gexpressions:gexpression*;\n\"

Definition at line 201 of file reduction.h.

◆ SEXPRESSION

#define SEXPRESSION (   x)    ((sexpression)((x).p))

SEXPRESSION.

Definition at line 171 of file reduction.h.

◆ SEXPRESSION_

#define SEXPRESSION_ (   x)    ((x).e)

Definition at line 174 of file reduction.h.

◆ sexpression_CAST

#define sexpression_CAST (   x)    SEXPRESSION(x)

Definition at line 172 of file reduction.h.

◆ SEXPRESSION_CAST

#define SEXPRESSION_CAST (   x)    SEXPRESSION(x)

Definition at line 173 of file reduction.h.

◆ sexpression_domain

#define sexpression_domain   (_gen_reduction_start+3)

newgen_reduced_loops_domain_defined

Definition at line 48 of file reduction.h.

◆ sexpression_domain_number

#define sexpression_domain_number (   x)    ((x)->_type_)

Definition at line 198 of file reduction.h.

◆ sexpression_gexpressions

#define sexpression_gexpressions (   x)    ((x)->_sexpression_holder_)

Definition at line 199 of file reduction.h.

◆ SEXPRESSION_NEWGEN_DOMAIN

#define SEXPRESSION_NEWGEN_DOMAIN   (sexpression_domain)

Definition at line 51 of file reduction.h.

◆ sexpression_NEWGEN_DOMAIN

#define sexpression_NEWGEN_DOMAIN   (sexpression_domain)

Definition at line 52 of file reduction.h.

◆ SEXPRESSION_TYPE

#define SEXPRESSION_TYPE   sexpression

Definition at line 175 of file reduction.h.

◆ sexpression_TYPE

#define sexpression_TYPE   sexpression

Definition at line 176 of file reduction.h.

◆ sexpression_undefined

#define sexpression_undefined   ((sexpression)gen_chunk_undefined)

Definition at line 177 of file reduction.h.

◆ sexpression_undefined_p

#define sexpression_undefined_p (   x)    ((x)==sexpression_undefined)

Definition at line 178 of file reduction.h.

Typedef Documentation

◆ entity

typedef struct _newgen_struct_entity_* entity

Definition at line 21 of file reduction.h.

◆ expression

Definition at line 14 of file reduction.h.

◆ gexpression

Definition at line 29 of file reduction.h.

◆ pattern

Definition at line 37 of file reduction.h.

◆ reduced_loops

Definition at line 45 of file reduction.h.

◆ sexpression

Definition at line 53 of file reduction.h.

Function Documentation

◆ check_gexpression()

gexpression check_gexpression ( gexpression  p)

Definition at line 22 of file reduction.c.

22  {
24 }
gen_chunk * gen_check(gen_chunk *obj, int t)
GEN_CHECK checks that the gen_chunk received OBJ is of the appropriate TYPE.
Definition: genClib.c:2356
#define gexpression_domain
newgen_entity_domain_defined
Definition: reduction.h:24
A gen_chunk is used to store every object.
Definition: genC.h:58

References gen_check(), and gexpression_domain.

Referenced by gexpression_assign_contents(), and gexpression_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_pattern()

pattern check_pattern ( pattern  p)

Definition at line 64 of file reduction.c.

64  {
65  return (pattern) gen_check((gen_chunk*) p, pattern_domain);
66 }
#define pattern_domain
newgen_gexpression_domain_defined
Definition: reduction.h:32

References gen_check(), and pattern_domain.

Referenced by pattern_assign_contents(), and pattern_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_reduced_loops()

reduced_loops check_reduced_loops ( reduced_loops  p)

Definition at line 106 of file reduction.c.

106  {
108 }
#define reduced_loops_domain
newgen_pattern_domain_defined
Definition: reduction.h:40

References gen_check(), and reduced_loops_domain.

Referenced by reduced_loops_assign_contents(), and reduced_loops_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_sexpression()

sexpression check_sexpression ( sexpression  p)

Definition at line 148 of file reduction.c.

148  {
150 }
#define sexpression_domain
newgen_reduced_loops_domain_defined
Definition: reduction.h:48

References gen_check(), and sexpression_domain.

Referenced by sexpression_assign_contents(), and sexpression_consistent_p().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ copy_gexpression()

gexpression copy_gexpression ( gexpression  p)

GEXPRESSION.

Definition at line 16 of file reduction.c.

16  {
17  return (gexpression) gen_copy_tree((gen_chunk*) p);
18 }
gen_chunk * gen_copy_tree(gen_chunk *obj)
Definition: genClib.c:1429

References gen_copy_tree().

+ Here is the call graph for this function:

◆ copy_pattern()

pattern copy_pattern ( pattern  p)

PATTERN.

Definition at line 58 of file reduction.c.

58  {
59  return (pattern) gen_copy_tree((gen_chunk*) p);
60 }

References gen_copy_tree().

+ Here is the call graph for this function:

◆ copy_reduced_loops()

reduced_loops copy_reduced_loops ( reduced_loops  p)

REDUCED_LOOPS.

Definition at line 100 of file reduction.c.

100  {
101  return (reduced_loops) gen_copy_tree((gen_chunk*) p);
102 }

References gen_copy_tree().

+ Here is the call graph for this function:

◆ copy_sexpression()

sexpression copy_sexpression ( sexpression  p)

SEXPRESSION.

Definition at line 142 of file reduction.c.

142  {
143  return (sexpression) gen_copy_tree((gen_chunk*) p);
144 }

References gen_copy_tree().

+ Here is the call graph for this function:

◆ free_gexpression()

void free_gexpression ( gexpression  p)

Definition at line 19 of file reduction.c.

19  {
20  gen_free((gen_chunk*) p);
21 }
void gen_free(gen_chunk *obj)
version without shared_pointers.
Definition: genClib.c:992

References gen_free().

+ Here is the call graph for this function:

◆ free_pattern()

void free_pattern ( pattern  p)

Definition at line 61 of file reduction.c.

61  {
62  gen_free((gen_chunk*) p);
63 }

References gen_free().

+ Here is the call graph for this function:

◆ free_reduced_loops()

void free_reduced_loops ( reduced_loops  p)

Definition at line 103 of file reduction.c.

103  {
104  gen_free((gen_chunk*) p);
105 }

References gen_free().

+ Here is the call graph for this function:

◆ free_sexpression()

void free_sexpression ( sexpression  p)

Definition at line 145 of file reduction.c.

145  {
146  gen_free((gen_chunk*) p);
147 }

References gen_free().

+ Here is the call graph for this function:

◆ gen_gexpression_cons()

list gen_gexpression_cons ( gexpression  p,
list  l 
)

Definition at line 32 of file reduction.c.

32  {
34 }
list gen_typed_cons(_int type, const void *item, const list next)
CONS a list with minimal type checking this cannot be done within the CONS macro because possible fun...
Definition: list.c:900
#define GEXPRESSION_NEWGEN_DOMAIN
Definition: reduction.h:27

References gen_typed_cons(), and GEXPRESSION_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ gen_pattern_cons()

list gen_pattern_cons ( pattern  p,
list  l 
)

Definition at line 74 of file reduction.c.

74  {
76 }
#define PATTERN_NEWGEN_DOMAIN
Definition: reduction.h:35

References gen_typed_cons(), and PATTERN_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ gen_reduced_loops_cons()

list gen_reduced_loops_cons ( reduced_loops  p,
list  l 
)

Definition at line 116 of file reduction.c.

116  {
118 }
#define REDUCED_LOOPS_NEWGEN_DOMAIN
Definition: reduction.h:43

References gen_typed_cons(), and REDUCED_LOOPS_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ gen_sexpression_cons()

list gen_sexpression_cons ( sexpression  p,
list  l 
)

Definition at line 158 of file reduction.c.

158  {
160 }
#define SEXPRESSION_NEWGEN_DOMAIN
Definition: reduction.h:51

References gen_typed_cons(), and SEXPRESSION_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ gexpression_assign_contents()

void gexpression_assign_contents ( gexpression  r,
gexpression  v 
)

Definition at line 35 of file reduction.c.

35  {
38  message_assert("defined references to domain gexpression",
40  memcpy(r, v, sizeof(struct _newgen_struct_gexpression_));
41 }
gexpression check_gexpression(gexpression p)
Definition: reduction.c:22
bool gexpression_defined_p(gexpression p)
Definition: reduction.c:29
#define message_assert(msg, ex)
Definition: newgen_assert.h:47

References check_gexpression(), gexpression_defined_p(), and message_assert.

+ Here is the call graph for this function:

◆ gexpression_consistent_p()

bool gexpression_consistent_p ( gexpression  p)

Definition at line 25 of file reduction.c.

25  {
27  return gen_consistent_p((gen_chunk*) p);
28 }
int gen_consistent_p(gen_chunk *obj)
GEN_CONSISTENT_P dynamically checks the type correctness of OBJ.
Definition: genClib.c:2398

References check_gexpression(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ gexpression_defined_p()

bool gexpression_defined_p ( gexpression  p)

Definition at line 29 of file reduction.c.

29  {
30  return gen_defined_p((gen_chunk*) p);
31 }
int gen_defined_p(gen_chunk *obj)
Definition: genClib.c:2438

References gen_defined_p().

Referenced by gexpression_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gexpression_non_recursive_free()

void gexpression_non_recursive_free ( gexpression  p)

Definition at line 42 of file reduction.c.

42  {
43  // should clear up contents...
44  free(p);
45 }
void free(void *)

References free().

+ Here is the call graph for this function:

◆ make_gexpression()

gexpression make_gexpression ( expression  a1,
expression  a2 
)

Definition at line 52 of file reduction.c.

52  {
54 }
#define GEN_CHECK_ALLOC
Definition: genC.h:307
gen_chunk * gen_alloc(int size, int gen_check_p, int dom,...)
allocates something in newgen.
Definition: genClib.c:298

References gen_alloc(), GEN_CHECK_ALLOC, and gexpression_domain.

+ Here is the call graph for this function:

◆ make_pattern()

pattern make_pattern ( entity  a1,
expression  a2,
expression  a3,
entity  a4,
list  a5 
)

Definition at line 94 of file reduction.c.

94  {
95  return (pattern) gen_alloc(6*sizeof(gen_chunk), GEN_CHECK_ALLOC, pattern_domain, a1, a2, a3, a4, a5);
96 }

References gen_alloc(), GEN_CHECK_ALLOC, and pattern_domain.

+ Here is the call graph for this function:

◆ make_reduced_loops()

reduced_loops make_reduced_loops ( list  a)

Definition at line 136 of file reduction.c.

136  {
138 }

References gen_alloc(), GEN_CHECK_ALLOC, and reduced_loops_domain.

+ Here is the call graph for this function:

◆ make_sexpression()

sexpression make_sexpression ( list  a)

Definition at line 178 of file reduction.c.

178  {
180 }

References gen_alloc(), GEN_CHECK_ALLOC, and sexpression_domain.

+ Here is the call graph for this function:

◆ pattern_assign_contents()

void pattern_assign_contents ( pattern  r,
pattern  v 
)

Definition at line 77 of file reduction.c.

77  {
78  check_pattern(r);
79  check_pattern(v);
80  message_assert("defined references to domain pattern",
82  memcpy(r, v, sizeof(struct _newgen_struct_pattern_));
83 }
pattern check_pattern(pattern p)
Definition: reduction.c:64
bool pattern_defined_p(pattern p)
Definition: reduction.c:71

References check_pattern(), message_assert, and pattern_defined_p().

+ Here is the call graph for this function:

◆ pattern_consistent_p()

bool pattern_consistent_p ( pattern  p)

Definition at line 67 of file reduction.c.

67  {
68  check_pattern(p);
69  return gen_consistent_p((gen_chunk*) p);
70 }

References check_pattern(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ pattern_defined_p()

bool pattern_defined_p ( pattern  p)

Definition at line 71 of file reduction.c.

71  {
72  return gen_defined_p((gen_chunk*) p);
73 }

References gen_defined_p().

Referenced by pattern_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pattern_non_recursive_free()

void pattern_non_recursive_free ( pattern  p)

Definition at line 84 of file reduction.c.

84  {
85  // should clear up contents...
86  free(p);
87 }

References free().

+ Here is the call graph for this function:

◆ read_gexpression()

gexpression read_gexpression ( FILE *  f)

Definition at line 49 of file reduction.c.

49  {
50  return (gexpression) gen_read(f);
51 }
gen_chunk * gen_read(FILE *file)
GEN_READ reads any object from the FILE stream.
Definition: genClib.c:2323
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
Definition: offsets.c:15

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_pattern()

pattern read_pattern ( FILE *  f)

Definition at line 91 of file reduction.c.

91  {
92  return (pattern) gen_read(f);
93 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_reduced_loops()

reduced_loops read_reduced_loops ( FILE *  f)

Definition at line 133 of file reduction.c.

133  {
134  return (reduced_loops) gen_read(f);
135 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_sexpression()

sexpression read_sexpression ( FILE *  f)

Definition at line 175 of file reduction.c.

175  {
176  return (sexpression) gen_read(f);
177 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ reduced_loops_assign_contents()

void reduced_loops_assign_contents ( reduced_loops  r,
reduced_loops  v 
)

Definition at line 119 of file reduction.c.

119  {
122  message_assert("defined references to domain reduced_loops",
124  memcpy(r, v, sizeof(struct _newgen_struct_reduced_loops_));
125 }
bool reduced_loops_defined_p(reduced_loops p)
Definition: reduction.c:113
reduced_loops check_reduced_loops(reduced_loops p)
Definition: reduction.c:106

References check_reduced_loops(), message_assert, and reduced_loops_defined_p().

+ Here is the call graph for this function:

◆ reduced_loops_consistent_p()

bool reduced_loops_consistent_p ( reduced_loops  p)

Definition at line 109 of file reduction.c.

109  {
111  return gen_consistent_p((gen_chunk*) p);
112 }

References check_reduced_loops(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ reduced_loops_defined_p()

bool reduced_loops_defined_p ( reduced_loops  p)

Definition at line 113 of file reduction.c.

113  {
114  return gen_defined_p((gen_chunk*) p);
115 }

References gen_defined_p().

Referenced by reduced_loops_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reduced_loops_non_recursive_free()

void reduced_loops_non_recursive_free ( reduced_loops  p)

Definition at line 126 of file reduction.c.

126  {
127  // should clear up contents...
128  free(p);
129 }

References free().

+ Here is the call graph for this function:

◆ sexpression_assign_contents()

void sexpression_assign_contents ( sexpression  r,
sexpression  v 
)

Definition at line 161 of file reduction.c.

161  {
164  message_assert("defined references to domain sexpression",
166  memcpy(r, v, sizeof(struct _newgen_struct_sexpression_));
167 }
sexpression check_sexpression(sexpression p)
Definition: reduction.c:148
bool sexpression_defined_p(sexpression p)
Definition: reduction.c:155

References check_sexpression(), message_assert, and sexpression_defined_p().

+ Here is the call graph for this function:

◆ sexpression_consistent_p()

bool sexpression_consistent_p ( sexpression  p)

Definition at line 151 of file reduction.c.

151  {
153  return gen_consistent_p((gen_chunk*) p);
154 }

References check_sexpression(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ sexpression_defined_p()

bool sexpression_defined_p ( sexpression  p)

Definition at line 155 of file reduction.c.

155  {
156  return gen_defined_p((gen_chunk*) p);
157 }

References gen_defined_p().

Referenced by sexpression_assign_contents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sexpression_non_recursive_free()

void sexpression_non_recursive_free ( sexpression  p)

Definition at line 168 of file reduction.c.

168  {
169  // should clear up contents...
170  free(p);
171 }

References free().

+ Here is the call graph for this function:

◆ write_gexpression()

void write_gexpression ( FILE *  f,
gexpression  p 
)

Definition at line 46 of file reduction.c.

46  {
47  gen_write(f, (gen_chunk*) p);
48 }
void gen_write(FILE *fd, gen_chunk *obj)
GEN_WRITE writes the OBJect on the stream FD.
Definition: genClib.c:1745

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_pattern()

void write_pattern ( FILE *  f,
pattern  p 
)

Definition at line 88 of file reduction.c.

88  {
89  gen_write(f, (gen_chunk*) p);
90 }

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_reduced_loops()

void write_reduced_loops ( FILE *  f,
reduced_loops  p 
)

Definition at line 130 of file reduction.c.

130  {
131  gen_write(f, (gen_chunk*) p);
132 }

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_sexpression()

void write_sexpression ( FILE *  f,
sexpression  p 
)

Definition at line 172 of file reduction.c.

172  {
173  gen_write(f, (gen_chunk*) p);
174 }

References f(), and gen_write().

+ Here is the call graph for this function: