PIPS
freia_spoc_private.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_dag_
 
struct  _newgen_struct_dagvtx_
 
struct  _newgen_struct_pstatement_
 
struct  _newgen_struct_vtxcontent_
 

Macros

#define _gen_freia_spoc_private_start   123
 
#define _newgen_entity_domain_defined_
 
#define ENTITY_NEWGEN_DOMAIN   (entity_domain)
 
#define entity_NEWGEN_DOMAIN   (entity_domain)
 
#define _newgen_statement_domain_defined_
 newgen_entity_domain_defined More...
 
#define STATEMENT_NEWGEN_DOMAIN   (statement_domain)
 
#define statement_NEWGEN_DOMAIN   (statement_domain)
 
#define dag_domain   (_gen_freia_spoc_private_start+0)
 newgen_statement_domain_defined More...
 
#define _newgen_dag_domain_defined_
 
#define DAG_NEWGEN_DOMAIN   (dag_domain)
 
#define dag_NEWGEN_DOMAIN   (dag_domain)
 
#define dagvtx_domain   (_gen_freia_spoc_private_start+1)
 newgen_dag_domain_defined More...
 
#define _newgen_dagvtx_domain_defined_
 
#define DAGVTX_NEWGEN_DOMAIN   (dagvtx_domain)
 
#define dagvtx_NEWGEN_DOMAIN   (dagvtx_domain)
 
#define pstatement_domain   (_gen_freia_spoc_private_start+2)
 newgen_dagvtx_domain_defined More...
 
#define _newgen_pstatement_domain_defined_
 
#define PSTATEMENT_NEWGEN_DOMAIN   (pstatement_domain)
 
#define pstatement_NEWGEN_DOMAIN   (pstatement_domain)
 
#define vtxcontent_domain   (_gen_freia_spoc_private_start+3)
 newgen_pstatement_domain_defined More...
 
#define _newgen_vtxcontent_domain_defined_
 
#define VTXCONTENT_NEWGEN_DOMAIN   (vtxcontent_domain)
 
#define vtxcontent_NEWGEN_DOMAIN   (vtxcontent_domain)
 
#define DAG(x)   ((dag)((x).p))
 newgen_vtxcontent_domain_defined More...
 
#define dag_CAST(x)   DAG(x)
 
#define DAG_CAST(x)   DAG(x)
 
#define DAG_(x)   ((x).e)
 
#define DAG_TYPE   dag
 
#define dag_TYPE   dag
 
#define dag_undefined   ((dag)gen_chunk_undefined)
 
#define dag_undefined_p(x)   ((x)==dag_undefined)
 
#define gen_DAG_cons   gen_dag_cons
 
#define dag_domain_number(x)   ((x)->_type_)
 
#define dag_inputs_(x)   dag_inputs(x) /**old hack compatible */
 
#define dag_inputs(x)   ((x)->_dag_inputs_)
 
#define dag_outputs_(x)   dag_outputs(x) /**old hack compatible */
 
#define dag_outputs(x)   ((x)->_dag_outputs_)
 
#define dag_vertices_(x)   dag_vertices(x) /**old hack compatible */
 
#define dag_vertices(x)   ((x)->_dag_vertices_)
 
#define DAGVTX(x)   ((dagvtx)((x).p))
 DAGVTX. More...
 
#define dagvtx_CAST(x)   DAGVTX(x)
 
#define DAGVTX_CAST(x)   DAGVTX(x)
 
#define DAGVTX_(x)   ((x).e)
 
#define DAGVTX_TYPE   dagvtx
 
#define dagvtx_TYPE   dagvtx
 
#define dagvtx_undefined   ((dagvtx)gen_chunk_undefined)
 
#define dagvtx_undefined_p(x)   ((x)==dagvtx_undefined)
 
#define gen_DAGVTX_cons   gen_dagvtx_cons
 
#define dagvtx_domain_number(x)   ((x)->_type_)
 
#define dagvtx_content_(x)   dagvtx_content(x) /**old hack compatible */
 
#define dagvtx_content(x)   ((x)->_dagvtx_content_)
 
#define dagvtx_succs_(x)   dagvtx_succs(x) /**old hack compatible */
 
#define dagvtx_succs(x)   ((x)->_dagvtx_succs_)
 
#define PSTATEMENT(x)   ((pstatement)((x).p))
 PSTATEMENT. More...
 
#define pstatement_CAST(x)   PSTATEMENT(x)
 
#define PSTATEMENT_CAST(x)   PSTATEMENT(x)
 
#define PSTATEMENT_(x)   ((x).e)
 
#define PSTATEMENT_TYPE   pstatement
 
#define pstatement_TYPE   pstatement
 
#define pstatement_undefined   ((pstatement)gen_chunk_undefined)
 
#define pstatement_undefined_p(x)   ((x)==pstatement_undefined)
 
#define gen_PSTATEMENT_cons   gen_pstatement_cons
 
#define pstatement_domain_number(x)   ((x)->_type_)
 
#define pstatement_tag(x)   ((x)->_pstatement_tag__)
 
#define pstatement_statement_p(x)   (pstatement_tag(x)==is_pstatement_statement)
 
#define pstatement_statement_(x)   pstatement_statement(x) /**old hack compatible */
 
#define pstatement_statement(x)   ((x)->_pstatement_union_._pstatement_statement_)
 
#define pstatement_empty_p(x)   (pstatement_tag(x)==is_pstatement_empty)
 
#define pstatement_empty_(x)   pstatement_empty(x) /**old hack compatible */
 
#define pstatement_empty(x)   ((x)->_pstatement_union_._pstatement_empty_.u)
 
#define VTXCONTENT(x)   ((vtxcontent)((x).p))
 VTXCONTENT. More...
 
#define vtxcontent_CAST(x)   VTXCONTENT(x)
 
#define VTXCONTENT_CAST(x)   VTXCONTENT(x)
 
#define VTXCONTENT_(x)   ((x).e)
 
#define VTXCONTENT_TYPE   vtxcontent
 
#define vtxcontent_TYPE   vtxcontent
 
#define vtxcontent_undefined   ((vtxcontent)gen_chunk_undefined)
 
#define vtxcontent_undefined_p(x)   ((x)==vtxcontent_undefined)
 
#define gen_VTXCONTENT_cons   gen_vtxcontent_cons
 
#define vtxcontent_domain_number(x)   ((x)->_type_)
 
#define vtxcontent_optype_(x)   vtxcontent_optype(x) /**old hack compatible */
 
#define vtxcontent_optype(x)   ((x)->_vtxcontent_optype_)
 
#define vtxcontent_opid_(x)   vtxcontent_opid(x) /**old hack compatible */
 
#define vtxcontent_opid(x)   ((x)->_vtxcontent_opid_)
 
#define vtxcontent_source_(x)   vtxcontent_source(x) /**old hack compatible */
 
#define vtxcontent_source(x)   ((x)->_vtxcontent_source_)
 
#define vtxcontent_inputs_(x)   vtxcontent_inputs(x) /**old hack compatible */
 
#define vtxcontent_inputs(x)   ((x)->_vtxcontent_inputs_)
 
#define vtxcontent_out_(x)   vtxcontent_out(x) /**old hack compatible */
 
#define vtxcontent_out(x)   ((x)->_vtxcontent_out_)
 
#define freia_spoc_private_spec   "\--NEWGEN-START 123\n\import entity from \"ri.newgen\";\n\import statement from \"ri.newgen\";\n\dag = inputs:dagvtx* x outputs:dagvtx* x vertices:dagvtx*;\n\dagvtx = content:vtxcontent x succs:dagvtx*;\n\pstatement = persistant statement:statement + empty:unit;\n\vtxcontent = optype:int x opid:int x source:pstatement x inputs:entity* x out:entity;\n\"
 

Typedefs

typedef struct _newgen_struct_entity_entity
 
typedef struct _newgen_struct_statement_statement
 
typedef struct _newgen_struct_dag_dag
 
typedef struct _newgen_struct_dagvtx_dagvtx
 
typedef struct _newgen_struct_pstatement_pstatement
 
typedef struct _newgen_struct_vtxcontent_vtxcontent
 

Enumerations

enum  pstatement_utype { is_pstatement_statement , is_pstatement_empty }
 

Functions

dag copy_dag (dag)
 DAG. More...
 
void free_dag (dag)
 
dag check_dag (dag)
 
bool dag_consistent_p (dag)
 
bool dag_defined_p (dag)
 
list gen_dag_cons (dag, list)
 
void dag_assign_contents (dag, dag)
 
void dag_non_recursive_free (dag)
 
void write_dag (FILE *, dag)
 
dag read_dag (FILE *)
 
dag make_dag (list, list, list)
 
dagvtx copy_dagvtx (dagvtx)
 DAGVTX. More...
 
void free_dagvtx (dagvtx)
 
dagvtx check_dagvtx (dagvtx)
 
bool dagvtx_consistent_p (dagvtx)
 
bool dagvtx_defined_p (dagvtx)
 
list gen_dagvtx_cons (dagvtx, list)
 
void dagvtx_assign_contents (dagvtx, dagvtx)
 
void dagvtx_non_recursive_free (dagvtx)
 
void write_dagvtx (FILE *, dagvtx)
 
dagvtx read_dagvtx (FILE *)
 
dagvtx make_dagvtx (vtxcontent, list)
 
pstatement copy_pstatement (pstatement)
 PSTATEMENT. More...
 
void free_pstatement (pstatement)
 
pstatement check_pstatement (pstatement)
 
bool pstatement_consistent_p (pstatement)
 
bool pstatement_defined_p (pstatement)
 
list gen_pstatement_cons (pstatement, list)
 
void pstatement_assign_contents (pstatement, pstatement)
 
void pstatement_non_recursive_free (pstatement)
 
void write_pstatement (FILE *, pstatement)
 
pstatement read_pstatement (FILE *)
 
string pstatement_tag_as_string (enum pstatement_utype)
 
pstatement make_pstatement (enum pstatement_utype, void *)
 
pstatement make_pstatement_statement (statement)
 
pstatement make_pstatement_empty (void)
 
vtxcontent copy_vtxcontent (vtxcontent)
 VTXCONTENT. More...
 
void free_vtxcontent (vtxcontent)
 
vtxcontent check_vtxcontent (vtxcontent)
 
bool vtxcontent_consistent_p (vtxcontent)
 
bool vtxcontent_defined_p (vtxcontent)
 
list gen_vtxcontent_cons (vtxcontent, list)
 
void vtxcontent_assign_contents (vtxcontent, vtxcontent)
 
void vtxcontent_non_recursive_free (vtxcontent)
 
void write_vtxcontent (FILE *, vtxcontent)
 
vtxcontent read_vtxcontent (FILE *)
 
vtxcontent make_vtxcontent (intptr_t, intptr_t, pstatement, list, entity)
 

Macro Definition Documentation

◆ _gen_freia_spoc_private_start

#define _gen_freia_spoc_private_start   123

Definition at line 3 of file freia_spoc_private.h.

◆ _newgen_dag_domain_defined_

#define _newgen_dag_domain_defined_

Definition at line 26 of file freia_spoc_private.h.

◆ _newgen_dagvtx_domain_defined_

#define _newgen_dagvtx_domain_defined_

Definition at line 34 of file freia_spoc_private.h.

◆ _newgen_entity_domain_defined_

#define _newgen_entity_domain_defined_

Definition at line 11 of file freia_spoc_private.h.

◆ _newgen_pstatement_domain_defined_

#define _newgen_pstatement_domain_defined_

Definition at line 42 of file freia_spoc_private.h.

◆ _newgen_statement_domain_defined_

#define _newgen_statement_domain_defined_

newgen_entity_domain_defined

Definition at line 18 of file freia_spoc_private.h.

◆ _newgen_vtxcontent_domain_defined_

#define _newgen_vtxcontent_domain_defined_

Definition at line 50 of file freia_spoc_private.h.

◆ DAG

#define DAG (   x)    ((dag)((x).p))

newgen_vtxcontent_domain_defined

DAG

Definition at line 58 of file freia_spoc_private.h.

◆ DAG_

#define DAG_ (   x)    ((x).e)

Definition at line 61 of file freia_spoc_private.h.

◆ dag_CAST

#define dag_CAST (   x)    DAG(x)

Definition at line 59 of file freia_spoc_private.h.

◆ DAG_CAST

#define DAG_CAST (   x)    DAG(x)

Definition at line 60 of file freia_spoc_private.h.

◆ dag_domain

#define dag_domain   (_gen_freia_spoc_private_start+0)

newgen_statement_domain_defined

Definition at line 24 of file freia_spoc_private.h.

◆ dag_domain_number

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

Definition at line 87 of file freia_spoc_private.h.

◆ dag_inputs

#define dag_inputs (   x)    ((x)->_dag_inputs_)

Definition at line 89 of file freia_spoc_private.h.

◆ dag_inputs_

#define dag_inputs_ (   x)    dag_inputs(x) /**old hack compatible */

Definition at line 88 of file freia_spoc_private.h.

◆ DAG_NEWGEN_DOMAIN

#define DAG_NEWGEN_DOMAIN   (dag_domain)

Definition at line 27 of file freia_spoc_private.h.

◆ dag_NEWGEN_DOMAIN

#define dag_NEWGEN_DOMAIN   (dag_domain)

Definition at line 28 of file freia_spoc_private.h.

◆ dag_outputs

#define dag_outputs (   x)    ((x)->_dag_outputs_)

Definition at line 91 of file freia_spoc_private.h.

◆ dag_outputs_

#define dag_outputs_ (   x)    dag_outputs(x) /**old hack compatible */

Definition at line 90 of file freia_spoc_private.h.

◆ DAG_TYPE

#define DAG_TYPE   dag

Definition at line 62 of file freia_spoc_private.h.

◆ dag_TYPE

#define dag_TYPE   dag

Definition at line 63 of file freia_spoc_private.h.

◆ dag_undefined

#define dag_undefined   ((dag)gen_chunk_undefined)

Definition at line 64 of file freia_spoc_private.h.

◆ dag_undefined_p

#define dag_undefined_p (   x)    ((x)==dag_undefined)

Definition at line 65 of file freia_spoc_private.h.

◆ dag_vertices

#define dag_vertices (   x)    ((x)->_dag_vertices_)

Definition at line 93 of file freia_spoc_private.h.

◆ dag_vertices_

#define dag_vertices_ (   x)    dag_vertices(x) /**old hack compatible */

Definition at line 92 of file freia_spoc_private.h.

◆ DAGVTX

#define DAGVTX (   x)    ((dagvtx)((x).p))

DAGVTX.

Definition at line 97 of file freia_spoc_private.h.

◆ DAGVTX_

#define DAGVTX_ (   x)    ((x).e)

Definition at line 100 of file freia_spoc_private.h.

◆ dagvtx_CAST

#define dagvtx_CAST (   x)    DAGVTX(x)

Definition at line 98 of file freia_spoc_private.h.

◆ DAGVTX_CAST

#define DAGVTX_CAST (   x)    DAGVTX(x)

Definition at line 99 of file freia_spoc_private.h.

◆ dagvtx_content

#define dagvtx_content (   x)    ((x)->_dagvtx_content_)

Definition at line 127 of file freia_spoc_private.h.

◆ dagvtx_content_

#define dagvtx_content_ (   x)    dagvtx_content(x) /**old hack compatible */

Definition at line 126 of file freia_spoc_private.h.

◆ dagvtx_domain

#define dagvtx_domain   (_gen_freia_spoc_private_start+1)

newgen_dag_domain_defined

Definition at line 32 of file freia_spoc_private.h.

◆ dagvtx_domain_number

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

Definition at line 125 of file freia_spoc_private.h.

◆ DAGVTX_NEWGEN_DOMAIN

#define DAGVTX_NEWGEN_DOMAIN   (dagvtx_domain)

Definition at line 35 of file freia_spoc_private.h.

◆ dagvtx_NEWGEN_DOMAIN

#define dagvtx_NEWGEN_DOMAIN   (dagvtx_domain)

Definition at line 36 of file freia_spoc_private.h.

◆ dagvtx_succs

#define dagvtx_succs (   x)    ((x)->_dagvtx_succs_)

Definition at line 129 of file freia_spoc_private.h.

◆ dagvtx_succs_

#define dagvtx_succs_ (   x)    dagvtx_succs(x) /**old hack compatible */

Definition at line 128 of file freia_spoc_private.h.

◆ DAGVTX_TYPE

#define DAGVTX_TYPE   dagvtx

Definition at line 101 of file freia_spoc_private.h.

◆ dagvtx_TYPE

#define dagvtx_TYPE   dagvtx

Definition at line 102 of file freia_spoc_private.h.

◆ dagvtx_undefined

#define dagvtx_undefined   ((dagvtx)gen_chunk_undefined)

Definition at line 103 of file freia_spoc_private.h.

◆ dagvtx_undefined_p

#define dagvtx_undefined_p (   x)    ((x)==dagvtx_undefined)

Definition at line 104 of file freia_spoc_private.h.

◆ ENTITY_NEWGEN_DOMAIN

#define ENTITY_NEWGEN_DOMAIN   (entity_domain)

Definition at line 12 of file freia_spoc_private.h.

◆ entity_NEWGEN_DOMAIN

#define entity_NEWGEN_DOMAIN   (entity_domain)

Definition at line 13 of file freia_spoc_private.h.

◆ freia_spoc_private_spec

#define freia_spoc_private_spec   "\--NEWGEN-START 123\n\import entity from \"ri.newgen\";\n\import statement from \"ri.newgen\";\n\dag = inputs:dagvtx* x outputs:dagvtx* x vertices:dagvtx*;\n\dagvtx = content:vtxcontent x succs:dagvtx*;\n\pstatement = persistant statement:statement + empty:unit;\n\vtxcontent = optype:int x opid:int x source:pstatement x inputs:entity* x out:entity;\n\"

Definition at line 225 of file freia_spoc_private.h.

◆ gen_DAG_cons

#define gen_DAG_cons   gen_dag_cons

Definition at line 72 of file freia_spoc_private.h.

◆ gen_DAGVTX_cons

#define gen_DAGVTX_cons   gen_dagvtx_cons

Definition at line 111 of file freia_spoc_private.h.

◆ gen_PSTATEMENT_cons

#define gen_PSTATEMENT_cons   gen_pstatement_cons

Definition at line 147 of file freia_spoc_private.h.

◆ gen_VTXCONTENT_cons

#define gen_VTXCONTENT_cons   gen_vtxcontent_cons

Definition at line 196 of file freia_spoc_private.h.

◆ PSTATEMENT

#define PSTATEMENT (   x)    ((pstatement)((x).p))

PSTATEMENT.

Definition at line 133 of file freia_spoc_private.h.

◆ PSTATEMENT_

#define PSTATEMENT_ (   x)    ((x).e)

Definition at line 136 of file freia_spoc_private.h.

◆ pstatement_CAST

#define pstatement_CAST (   x)    PSTATEMENT(x)

Definition at line 134 of file freia_spoc_private.h.

◆ PSTATEMENT_CAST

#define PSTATEMENT_CAST (   x)    PSTATEMENT(x)

Definition at line 135 of file freia_spoc_private.h.

◆ pstatement_domain

#define pstatement_domain   (_gen_freia_spoc_private_start+2)

newgen_dagvtx_domain_defined

Definition at line 40 of file freia_spoc_private.h.

◆ pstatement_domain_number

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

Definition at line 171 of file freia_spoc_private.h.

◆ pstatement_empty

#define pstatement_empty (   x)    ((x)->_pstatement_union_._pstatement_empty_.u)

Definition at line 178 of file freia_spoc_private.h.

◆ pstatement_empty_

#define pstatement_empty_ (   x)    pstatement_empty(x) /**old hack compatible */

Definition at line 177 of file freia_spoc_private.h.

◆ pstatement_empty_p

#define pstatement_empty_p (   x)    (pstatement_tag(x)==is_pstatement_empty)

Definition at line 176 of file freia_spoc_private.h.

◆ PSTATEMENT_NEWGEN_DOMAIN

#define PSTATEMENT_NEWGEN_DOMAIN   (pstatement_domain)

Definition at line 43 of file freia_spoc_private.h.

◆ pstatement_NEWGEN_DOMAIN

#define pstatement_NEWGEN_DOMAIN   (pstatement_domain)

Definition at line 44 of file freia_spoc_private.h.

◆ pstatement_statement

#define pstatement_statement (   x)    ((x)->_pstatement_union_._pstatement_statement_)

Definition at line 175 of file freia_spoc_private.h.

◆ pstatement_statement_

#define pstatement_statement_ (   x)    pstatement_statement(x) /**old hack compatible */

Definition at line 174 of file freia_spoc_private.h.

◆ pstatement_statement_p

#define pstatement_statement_p (   x)    (pstatement_tag(x)==is_pstatement_statement)

Definition at line 173 of file freia_spoc_private.h.

◆ pstatement_tag

#define pstatement_tag (   x)    ((x)->_pstatement_tag__)

Definition at line 172 of file freia_spoc_private.h.

◆ PSTATEMENT_TYPE

#define PSTATEMENT_TYPE   pstatement

Definition at line 137 of file freia_spoc_private.h.

◆ pstatement_TYPE

#define pstatement_TYPE   pstatement

Definition at line 138 of file freia_spoc_private.h.

◆ pstatement_undefined

#define pstatement_undefined   ((pstatement)gen_chunk_undefined)

Definition at line 139 of file freia_spoc_private.h.

◆ pstatement_undefined_p

#define pstatement_undefined_p (   x)    ((x)==pstatement_undefined)

Definition at line 140 of file freia_spoc_private.h.

◆ STATEMENT_NEWGEN_DOMAIN

#define STATEMENT_NEWGEN_DOMAIN   (statement_domain)

Definition at line 19 of file freia_spoc_private.h.

◆ statement_NEWGEN_DOMAIN

#define statement_NEWGEN_DOMAIN   (statement_domain)

Definition at line 20 of file freia_spoc_private.h.

◆ VTXCONTENT

#define VTXCONTENT (   x)    ((vtxcontent)((x).p))

VTXCONTENT.

Definition at line 182 of file freia_spoc_private.h.

◆ VTXCONTENT_

#define VTXCONTENT_ (   x)    ((x).e)

Definition at line 185 of file freia_spoc_private.h.

◆ vtxcontent_CAST

#define vtxcontent_CAST (   x)    VTXCONTENT(x)

Definition at line 183 of file freia_spoc_private.h.

◆ VTXCONTENT_CAST

#define VTXCONTENT_CAST (   x)    VTXCONTENT(x)

Definition at line 184 of file freia_spoc_private.h.

◆ vtxcontent_domain

#define vtxcontent_domain   (_gen_freia_spoc_private_start+3)

newgen_pstatement_domain_defined

Definition at line 48 of file freia_spoc_private.h.

◆ vtxcontent_domain_number

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

Definition at line 213 of file freia_spoc_private.h.

◆ vtxcontent_inputs

#define vtxcontent_inputs (   x)    ((x)->_vtxcontent_inputs_)

Definition at line 221 of file freia_spoc_private.h.

◆ vtxcontent_inputs_

#define vtxcontent_inputs_ (   x)    vtxcontent_inputs(x) /**old hack compatible */

Definition at line 220 of file freia_spoc_private.h.

◆ VTXCONTENT_NEWGEN_DOMAIN

#define VTXCONTENT_NEWGEN_DOMAIN   (vtxcontent_domain)

Definition at line 51 of file freia_spoc_private.h.

◆ vtxcontent_NEWGEN_DOMAIN

#define vtxcontent_NEWGEN_DOMAIN   (vtxcontent_domain)

Definition at line 52 of file freia_spoc_private.h.

◆ vtxcontent_opid

#define vtxcontent_opid (   x)    ((x)->_vtxcontent_opid_)

Definition at line 217 of file freia_spoc_private.h.

◆ vtxcontent_opid_

#define vtxcontent_opid_ (   x)    vtxcontent_opid(x) /**old hack compatible */

Definition at line 216 of file freia_spoc_private.h.

◆ vtxcontent_optype

#define vtxcontent_optype (   x)    ((x)->_vtxcontent_optype_)

Definition at line 215 of file freia_spoc_private.h.

◆ vtxcontent_optype_

#define vtxcontent_optype_ (   x)    vtxcontent_optype(x) /**old hack compatible */

Definition at line 214 of file freia_spoc_private.h.

◆ vtxcontent_out

#define vtxcontent_out (   x)    ((x)->_vtxcontent_out_)

Definition at line 223 of file freia_spoc_private.h.

◆ vtxcontent_out_

#define vtxcontent_out_ (   x)    vtxcontent_out(x) /**old hack compatible */

Definition at line 222 of file freia_spoc_private.h.

◆ vtxcontent_source

#define vtxcontent_source (   x)    ((x)->_vtxcontent_source_)

Definition at line 219 of file freia_spoc_private.h.

◆ vtxcontent_source_

#define vtxcontent_source_ (   x)    vtxcontent_source(x) /**old hack compatible */

Definition at line 218 of file freia_spoc_private.h.

◆ VTXCONTENT_TYPE

#define VTXCONTENT_TYPE   vtxcontent

Definition at line 186 of file freia_spoc_private.h.

◆ vtxcontent_TYPE

#define vtxcontent_TYPE   vtxcontent

Definition at line 187 of file freia_spoc_private.h.

◆ vtxcontent_undefined

#define vtxcontent_undefined   ((vtxcontent)gen_chunk_undefined)

Definition at line 188 of file freia_spoc_private.h.

◆ vtxcontent_undefined_p

#define vtxcontent_undefined_p (   x)    ((x)==vtxcontent_undefined)

Definition at line 189 of file freia_spoc_private.h.

Typedef Documentation

◆ dag

typedef struct _newgen_struct_dag_* dag

Definition at line 29 of file freia_spoc_private.h.

◆ dagvtx

typedef struct _newgen_struct_dagvtx_* dagvtx

Definition at line 37 of file freia_spoc_private.h.

◆ entity

typedef struct _newgen_struct_entity_* entity

Definition at line 14 of file freia_spoc_private.h.

◆ pstatement

Definition at line 45 of file freia_spoc_private.h.

◆ statement

Definition at line 21 of file freia_spoc_private.h.

◆ vtxcontent

Definition at line 53 of file freia_spoc_private.h.

Enumeration Type Documentation

◆ pstatement_utype

Enumerator
is_pstatement_statement 
is_pstatement_empty 

Definition at line 153 of file freia_spoc_private.h.

153  {
156 };
@ is_pstatement_empty
@ is_pstatement_statement

Function Documentation

◆ check_dag()

dag check_dag ( dag  p)

Definition at line 22 of file freia_spoc_private.c.

22  {
23  return (dag) gen_check((gen_chunk*) p, dag_domain);
24 }
#define dag_domain
newgen_statement_domain_defined
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
A gen_chunk is used to store every object.
Definition: genC.h:58

References dag_domain, and gen_check().

Referenced by dag_assign_contents(), and dag_consistent_p().

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

◆ check_dagvtx()

dagvtx check_dagvtx ( dagvtx  p)

Definition at line 64 of file freia_spoc_private.c.

64  {
65  return (dagvtx) gen_check((gen_chunk*) p, dagvtx_domain);
66 }
#define dagvtx_domain
newgen_dag_domain_defined

References dagvtx_domain, and gen_check().

Referenced by dagvtx_assign_contents(), and dagvtx_consistent_p().

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

◆ check_pstatement()

pstatement check_pstatement ( pstatement  p)

Definition at line 106 of file freia_spoc_private.c.

106  {
108 }
#define pstatement_domain
newgen_dagvtx_domain_defined

References gen_check(), and pstatement_domain.

Referenced by pstatement_assign_contents(), and pstatement_consistent_p().

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

◆ check_vtxcontent()

vtxcontent check_vtxcontent ( vtxcontent  p)

Definition at line 161 of file freia_spoc_private.c.

161  {
163 }
#define vtxcontent_domain
newgen_pstatement_domain_defined

References gen_check(), and vtxcontent_domain.

Referenced by vtxcontent_assign_contents(), and vtxcontent_consistent_p().

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

◆ copy_dag()

dag copy_dag ( dag  p)

DAG.

Definition at line 16 of file freia_spoc_private.c.

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

References gen_copy_tree().

Referenced by dag_split_on_scalars().

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

◆ copy_dagvtx()

dagvtx copy_dagvtx ( dagvtx  p)

DAGVTX.

Definition at line 58 of file freia_spoc_private.c.

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

References gen_copy_tree().

Referenced by copy_dagvtx_norec().

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

◆ copy_pstatement()

pstatement copy_pstatement ( pstatement  p)

PSTATEMENT.

Definition at line 100 of file freia_spoc_private.c.

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

References gen_copy_tree().

+ Here is the call graph for this function:

◆ copy_vtxcontent()

vtxcontent copy_vtxcontent ( vtxcontent  p)

VTXCONTENT.

Definition at line 155 of file freia_spoc_private.c.

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

References gen_copy_tree().

+ Here is the call graph for this function:

◆ dag_assign_contents()

void dag_assign_contents ( dag  r,
dag  v 
)

Definition at line 35 of file freia_spoc_private.c.

35  {
36  check_dag(r);
37  check_dag(v);
38  message_assert("defined references to domain dag",
39  dag_defined_p(r) && dag_defined_p(v));
40  memcpy(r, v, sizeof(struct _newgen_struct_dag_));
41 }
dag check_dag(dag p)
bool dag_defined_p(dag p)
#define message_assert(msg, ex)
Definition: newgen_assert.h:47

References check_dag(), dag_defined_p(), and message_assert.

+ Here is the call graph for this function:

◆ dag_consistent_p()

bool dag_consistent_p ( dag  p)

Definition at line 25 of file freia_spoc_private.c.

25  {
26  check_dag(p);
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_dag(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ dag_defined_p()

bool dag_defined_p ( dag  p)

Definition at line 29 of file freia_spoc_private.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 dag_assign_contents().

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

◆ dag_non_recursive_free()

void dag_non_recursive_free ( dag  p)

Definition at line 42 of file freia_spoc_private.c.

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

References free().

+ Here is the call graph for this function:

◆ dagvtx_assign_contents()

void dagvtx_assign_contents ( dagvtx  r,
dagvtx  v 
)

Definition at line 77 of file freia_spoc_private.c.

77  {
78  check_dagvtx(r);
79  check_dagvtx(v);
80  message_assert("defined references to domain dagvtx",
82  memcpy(r, v, sizeof(struct _newgen_struct_dagvtx_));
83 }
dagvtx check_dagvtx(dagvtx p)
bool dagvtx_defined_p(dagvtx p)

References check_dagvtx(), dagvtx_defined_p(), and message_assert.

+ Here is the call graph for this function:

◆ dagvtx_consistent_p()

bool dagvtx_consistent_p ( dagvtx  p)

Definition at line 67 of file freia_spoc_private.c.

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

References check_dagvtx(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ dagvtx_defined_p()

bool dagvtx_defined_p ( dagvtx  p)

Definition at line 71 of file freia_spoc_private.c.

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

References gen_defined_p().

Referenced by dagvtx_assign_contents().

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

◆ dagvtx_non_recursive_free()

void dagvtx_non_recursive_free ( dagvtx  p)

Definition at line 84 of file freia_spoc_private.c.

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

References free().

+ Here is the call graph for this function:

◆ free_dag()

void free_dag ( dag  p)

Definition at line 19 of file freia_spoc_private.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().

Referenced by dag_split_on_scalars(), freia_compile(), and opencl_generate_special_kernel_ops().

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

◆ free_dagvtx()

void free_dagvtx ( dagvtx  p)

Definition at line 61 of file freia_spoc_private.c.

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

References gen_free().

Referenced by freia_dag_optimize(), freia_spoc_pipeline(), and freia_terapix_call().

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

◆ free_pstatement()

void free_pstatement ( pstatement  p)

Definition at line 103 of file freia_spoc_private.c.

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

References gen_free().

+ Here is the call graph for this function:

◆ free_vtxcontent()

void free_vtxcontent ( vtxcontent  p)

Definition at line 158 of file freia_spoc_private.c.

158  {
159  gen_free((gen_chunk*) p);
160 }

References gen_free().

+ Here is the call graph for this function:

◆ gen_dag_cons()

list gen_dag_cons ( dag  p,
list  l 
)

Definition at line 32 of file freia_spoc_private.c.

32  {
33  return gen_typed_cons(DAG_NEWGEN_DOMAIN, p, l);
34 }
#define DAG_NEWGEN_DOMAIN
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

References DAG_NEWGEN_DOMAIN, and gen_typed_cons().

+ Here is the call graph for this function:

◆ gen_dagvtx_cons()

list gen_dagvtx_cons ( dagvtx  p,
list  l 
)

Definition at line 74 of file freia_spoc_private.c.

74  {
76 }
#define DAGVTX_NEWGEN_DOMAIN

References DAGVTX_NEWGEN_DOMAIN, and gen_typed_cons().

+ Here is the call graph for this function:

◆ gen_pstatement_cons()

list gen_pstatement_cons ( pstatement  p,
list  l 
)

Definition at line 116 of file freia_spoc_private.c.

116  {
118 }
#define PSTATEMENT_NEWGEN_DOMAIN

References gen_typed_cons(), and PSTATEMENT_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ gen_vtxcontent_cons()

list gen_vtxcontent_cons ( vtxcontent  p,
list  l 
)

Definition at line 171 of file freia_spoc_private.c.

171  {
173 }
#define VTXCONTENT_NEWGEN_DOMAIN

References gen_typed_cons(), and VTXCONTENT_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ make_dag()

dag make_dag ( list  a1,
list  a2,
list  a3 
)

Definition at line 52 of file freia_spoc_private.c.

52  {
53  return (dag) gen_alloc(4*sizeof(gen_chunk), GEN_CHECK_ALLOC, dag_domain, a1, a2, a3);
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 dag_domain, gen_alloc(), and GEN_CHECK_ALLOC.

Referenced by compile_this_list(), dag_split_connected_components(), dag_split_on_scalars(), freia_build_dag(), mppa_dag_split(), and opencl_generate_special_kernel_ops().

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

◆ make_dagvtx()

dagvtx make_dagvtx ( vtxcontent  a1,
list  a2 
)

Definition at line 94 of file freia_spoc_private.c.

94  {
95  return (dagvtx) gen_alloc(3*sizeof(gen_chunk), GEN_CHECK_ALLOC, dagvtx_domain, a1, a2);
96 }

References dagvtx_domain, gen_alloc(), and GEN_CHECK_ALLOC.

Referenced by dag_append_freia_call(), dag_append_vertex(), dag_remove_vertex(), and mppa_dag_split().

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

◆ make_pstatement()

pstatement make_pstatement ( enum  pstatement_utype,
void *  val 
)

Definition at line 143 of file freia_spoc_private.c.

143  {
145 }
int tag
TAG.
Definition: newgen_types.h:92

References gen_alloc(), GEN_CHECK_ALLOC, and pstatement_domain.

Referenced by make_pstatement_empty(), and make_pstatement_statement().

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

◆ make_pstatement_empty()

pstatement make_pstatement_empty ( void  )

Definition at line 149 of file freia_spoc_private.c.

149  {
151 }
pstatement make_pstatement(enum pstatement_utype tag, void *val)
#define UU
Definition: newgen_types.h:98

References is_pstatement_empty, make_pstatement(), and UU.

Referenced by dag_append_vertex(), dag_remove_vertex(), and mppa_dag_split().

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

◆ make_pstatement_statement()

pstatement make_pstatement_statement ( statement  _field_)

Definition at line 146 of file freia_spoc_private.c.

146  {
147  return make_pstatement(is_pstatement_statement, (void*)(intptr_t) _field_);
148 }
#define intptr_t
Definition: stdint.in.h:294

References intptr_t, is_pstatement_statement, and make_pstatement().

Referenced by dag_append_freia_call().

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

◆ make_vtxcontent()

vtxcontent make_vtxcontent ( intptr_t  a1,
intptr_t  a2,
pstatement  a3,
list  a4,
entity  a5 
)

Definition at line 191 of file freia_spoc_private.c.

191  {
192  return (vtxcontent) gen_alloc(6*sizeof(gen_chunk), GEN_CHECK_ALLOC, vtxcontent_domain, a1, a2, a3, a4, a5);
193 }

References gen_alloc(), GEN_CHECK_ALLOC, and vtxcontent_domain.

Referenced by dag_append_freia_call(), dag_append_vertex(), dag_remove_vertex(), and mppa_dag_split().

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

◆ pstatement_assign_contents()

void pstatement_assign_contents ( pstatement  r,
pstatement  v 
)

Definition at line 119 of file freia_spoc_private.c.

119  {
120  check_pstatement(r);
121  check_pstatement(v);
122  message_assert("defined references to domain pstatement",
124  memcpy(r, v, sizeof(struct _newgen_struct_pstatement_));
125 }
pstatement check_pstatement(pstatement p)
bool pstatement_defined_p(pstatement p)

References check_pstatement(), message_assert, and pstatement_defined_p().

+ Here is the call graph for this function:

◆ pstatement_consistent_p()

bool pstatement_consistent_p ( pstatement  p)

Definition at line 109 of file freia_spoc_private.c.

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

References check_pstatement(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ pstatement_defined_p()

bool pstatement_defined_p ( pstatement  p)

Definition at line 113 of file freia_spoc_private.c.

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

References gen_defined_p().

Referenced by pstatement_assign_contents().

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

◆ pstatement_non_recursive_free()

void pstatement_non_recursive_free ( pstatement  p)

Definition at line 126 of file freia_spoc_private.c.

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

References free().

+ Here is the call graph for this function:

◆ pstatement_tag_as_string()

string pstatement_tag_as_string ( enum  pstatement_utype)

Definition at line 136 of file freia_spoc_private.c.

136  {
137  switch (tag) {
138  case is_pstatement_statement: return "statement";
139  case is_pstatement_empty: return "empty";
140  default: return string_undefined;
141  }
142 }
#define string_undefined
Definition: newgen_types.h:40

References is_pstatement_empty, is_pstatement_statement, and string_undefined.

◆ read_dag()

dag read_dag ( FILE *  f)

Definition at line 49 of file freia_spoc_private.c.

49  {
50  return (dag) 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_dagvtx()

dagvtx read_dagvtx ( FILE *  f)

Definition at line 91 of file freia_spoc_private.c.

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

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_pstatement()

pstatement read_pstatement ( FILE *  f)

Definition at line 133 of file freia_spoc_private.c.

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

References f(), and gen_read().

+ Here is the call graph for this function:

◆ read_vtxcontent()

vtxcontent read_vtxcontent ( FILE *  f)

Definition at line 188 of file freia_spoc_private.c.

188  {
189  return (vtxcontent) gen_read(f);
190 }

References f(), and gen_read().

+ Here is the call graph for this function:

◆ vtxcontent_assign_contents()

void vtxcontent_assign_contents ( vtxcontent  r,
vtxcontent  v 
)

Definition at line 174 of file freia_spoc_private.c.

174  {
175  check_vtxcontent(r);
176  check_vtxcontent(v);
177  message_assert("defined references to domain vtxcontent",
179  memcpy(r, v, sizeof(struct _newgen_struct_vtxcontent_));
180 }
vtxcontent check_vtxcontent(vtxcontent p)
bool vtxcontent_defined_p(vtxcontent p)

References check_vtxcontent(), message_assert, and vtxcontent_defined_p().

+ Here is the call graph for this function:

◆ vtxcontent_consistent_p()

bool vtxcontent_consistent_p ( vtxcontent  p)

Definition at line 164 of file freia_spoc_private.c.

164  {
165  check_vtxcontent(p);
166  return gen_consistent_p((gen_chunk*) p);
167 }

References check_vtxcontent(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ vtxcontent_defined_p()

bool vtxcontent_defined_p ( vtxcontent  p)

Definition at line 168 of file freia_spoc_private.c.

168  {
169  return gen_defined_p((gen_chunk*) p);
170 }

References gen_defined_p().

Referenced by vtxcontent_assign_contents().

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

◆ vtxcontent_non_recursive_free()

void vtxcontent_non_recursive_free ( vtxcontent  p)

Definition at line 181 of file freia_spoc_private.c.

181  {
182  // should clear up contents...
183  free(p);
184 }

References free().

+ Here is the call graph for this function:

◆ write_dag()

void write_dag ( FILE *  f,
dag  p 
)

Definition at line 46 of file freia_spoc_private.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_dagvtx()

void write_dagvtx ( FILE *  f,
dagvtx  p 
)

Definition at line 88 of file freia_spoc_private.c.

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

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_pstatement()

void write_pstatement ( FILE *  f,
pstatement  p 
)

Definition at line 130 of file freia_spoc_private.c.

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

References f(), and gen_write().

+ Here is the call graph for this function:

◆ write_vtxcontent()

void write_vtxcontent ( FILE *  f,
vtxcontent  p 
)

Definition at line 185 of file freia_spoc_private.c.

185  {
186  gen_write(f, (gen_chunk*) p);
187 }

References f(), and gen_write().

+ Here is the call graph for this function: