PIPS
tiling.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_tiling_
 

Macros

#define _gen_tiling_start   88
 
#define _newgen_Pvecteur_domain_defined_
 
#define newgen_Pvecteur(p)   (p) /**old hack compatible */
 
#define PVECTEUR_NEWGEN_EXTERNAL   (_gen_tiling_start+0)
 
#define PVECTEUR_NEWGEN_DOMAIN   (PVECTEUR_NEWGEN_EXTERNAL)
 
#define Pvecteur_NEWGEN_DOMAIN   (PVECTEUR_NEWGEN_EXTERNAL)
 
#define _newgen_matrice_domain_defined_
 newgen_Pvecteur_domain_defined More...
 
#define newgen_matrice(p)   (p) /**old hack compatible */
 
#define MATRICE_NEWGEN_EXTERNAL   (_gen_tiling_start+1)
 
#define MATRICE_NEWGEN_DOMAIN   (MATRICE_NEWGEN_EXTERNAL)
 
#define matrice_NEWGEN_DOMAIN   (MATRICE_NEWGEN_EXTERNAL)
 
#define tiling_domain   (_gen_tiling_start+2)
 newgen_matrice_domain_defined More...
 
#define _newgen_tiling_domain_defined_
 
#define TILING_NEWGEN_DOMAIN   (tiling_domain)
 
#define tiling_NEWGEN_DOMAIN   (tiling_domain)
 
#define TILING(x)   ((tiling)((x).p))
 newgen_tiling_domain_defined More...
 
#define tiling_CAST(x)   TILING(x)
 
#define TILING_CAST(x)   TILING(x)
 
#define TILING_(x)   ((x).e)
 
#define TILING_TYPE   tiling
 
#define tiling_TYPE   tiling
 
#define tiling_undefined   ((tiling)gen_chunk_undefined)
 
#define tiling_undefined_p(x)   ((x)==tiling_undefined)
 
#define gen_TILING_cons   gen_tiling_cons
 
#define tiling_domain_number(x)   ((x)->_type_)
 
#define tiling_tile_(x)   tiling_tile(x) /**old hack compatible */
 
#define tiling_tile(x)   ((x)->_tiling_tile_)
 
#define tiling_origin_(x)   tiling_origin(x) /**old hack compatible */
 
#define tiling_origin(x)   ((x)->_tiling_origin_)
 
#define tiling_spec   "\--NEWGEN-START 88\n\external Pvecteur;\n\external matrice;\n\tiling = tile:matrice x origin:Pvecteur;\n\"
 

Typedefs

typedef struct _newgen_struct_tiling_tiling
 

Functions

tiling copy_tiling (tiling)
 TILING. More...
 
void free_tiling (tiling)
 
tiling check_tiling (tiling)
 
bool tiling_consistent_p (tiling)
 
bool tiling_defined_p (tiling)
 
list gen_tiling_cons (tiling, list)
 
void tiling_assign_contents (tiling, tiling)
 
void tiling_non_recursive_free (tiling)
 
void write_tiling (FILE *, tiling)
 
tiling read_tiling (FILE *)
 
tiling make_tiling (matrice, Pvecteur)
 

Macro Definition Documentation

◆ _gen_tiling_start

#define _gen_tiling_start   88

Definition at line 3 of file tiling.h.

◆ _newgen_matrice_domain_defined_

#define _newgen_matrice_domain_defined_

newgen_Pvecteur_domain_defined

Definition at line 19 of file tiling.h.

◆ _newgen_Pvecteur_domain_defined_

#define _newgen_Pvecteur_domain_defined_

Definition at line 11 of file tiling.h.

◆ _newgen_tiling_domain_defined_

#define _newgen_tiling_domain_defined_

Definition at line 28 of file tiling.h.

◆ gen_TILING_cons

#define gen_TILING_cons   gen_tiling_cons

Definition at line 52 of file tiling.h.

◆ MATRICE_NEWGEN_DOMAIN

#define MATRICE_NEWGEN_DOMAIN   (MATRICE_NEWGEN_EXTERNAL)

Definition at line 22 of file tiling.h.

◆ matrice_NEWGEN_DOMAIN

#define matrice_NEWGEN_DOMAIN   (MATRICE_NEWGEN_EXTERNAL)

Definition at line 23 of file tiling.h.

◆ MATRICE_NEWGEN_EXTERNAL

#define MATRICE_NEWGEN_EXTERNAL   (_gen_tiling_start+1)

Definition at line 21 of file tiling.h.

◆ newgen_matrice

#define newgen_matrice (   p)    (p) /**old hack compatible */

Definition at line 20 of file tiling.h.

◆ newgen_Pvecteur

#define newgen_Pvecteur (   p)    (p) /**old hack compatible */

Definition at line 12 of file tiling.h.

◆ PVECTEUR_NEWGEN_DOMAIN

#define PVECTEUR_NEWGEN_DOMAIN   (PVECTEUR_NEWGEN_EXTERNAL)

Definition at line 14 of file tiling.h.

◆ Pvecteur_NEWGEN_DOMAIN

#define Pvecteur_NEWGEN_DOMAIN   (PVECTEUR_NEWGEN_EXTERNAL)

Definition at line 15 of file tiling.h.

◆ PVECTEUR_NEWGEN_EXTERNAL

#define PVECTEUR_NEWGEN_EXTERNAL   (_gen_tiling_start+0)

Definition at line 13 of file tiling.h.

◆ TILING

#define TILING (   x)    ((tiling)((x).p))

newgen_tiling_domain_defined

TILING

Definition at line 38 of file tiling.h.

◆ TILING_

#define TILING_ (   x)    ((x).e)

Definition at line 41 of file tiling.h.

◆ tiling_CAST

#define tiling_CAST (   x)    TILING(x)

Definition at line 39 of file tiling.h.

◆ TILING_CAST

#define TILING_CAST (   x)    TILING(x)

Definition at line 40 of file tiling.h.

◆ tiling_domain

#define tiling_domain   (_gen_tiling_start+2)

newgen_matrice_domain_defined

Definition at line 26 of file tiling.h.

◆ tiling_domain_number

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

Definition at line 66 of file tiling.h.

◆ TILING_NEWGEN_DOMAIN

#define TILING_NEWGEN_DOMAIN   (tiling_domain)

Definition at line 29 of file tiling.h.

◆ tiling_NEWGEN_DOMAIN

#define tiling_NEWGEN_DOMAIN   (tiling_domain)

Definition at line 30 of file tiling.h.

◆ tiling_origin

#define tiling_origin (   x)    ((x)->_tiling_origin_)

Definition at line 70 of file tiling.h.

◆ tiling_origin_

#define tiling_origin_ (   x)    tiling_origin(x) /**old hack compatible */

Definition at line 69 of file tiling.h.

◆ tiling_spec

#define tiling_spec   "\--NEWGEN-START 88\n\external Pvecteur;\n\external matrice;\n\tiling = tile:matrice x origin:Pvecteur;\n\"

Definition at line 72 of file tiling.h.

◆ tiling_tile

#define tiling_tile (   x)    ((x)->_tiling_tile_)

Definition at line 68 of file tiling.h.

◆ tiling_tile_

#define tiling_tile_ (   x)    tiling_tile(x) /**old hack compatible */

Definition at line 67 of file tiling.h.

◆ TILING_TYPE

#define TILING_TYPE   tiling

Definition at line 42 of file tiling.h.

◆ tiling_TYPE

#define tiling_TYPE   tiling

Definition at line 43 of file tiling.h.

◆ tiling_undefined

#define tiling_undefined   ((tiling)gen_chunk_undefined)

Definition at line 44 of file tiling.h.

◆ tiling_undefined_p

#define tiling_undefined_p (   x)    ((x)==tiling_undefined)

Definition at line 45 of file tiling.h.

Typedef Documentation

◆ tiling

typedef struct _newgen_struct_tiling_* tiling

Definition at line 31 of file tiling.h.

Function Documentation

◆ check_tiling()

tiling check_tiling ( tiling  p)

Definition at line 26 of file tiling.c.

26  {
27  return (tiling) gen_check((gen_chunk*) p, tiling_domain);
28 }
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 tiling_domain
newgen_matrice_domain_defined
Definition: tiling.h:26
A gen_chunk is used to store every object.
Definition: genC.h:58

References gen_check(), and tiling_domain.

Referenced by tiling_assign_contents(), and tiling_consistent_p().

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

◆ copy_tiling()

tiling copy_tiling ( tiling  p)

TILING.

Definition at line 20 of file tiling.c.

20  {
21  return (tiling) gen_copy_tree((gen_chunk*) p);
22 }
gen_chunk * gen_copy_tree(gen_chunk *obj)
Definition: genClib.c:1429

References gen_copy_tree().

+ Here is the call graph for this function:

◆ free_tiling()

void free_tiling ( tiling  p)

Definition at line 23 of file tiling.c.

23  {
24  gen_free((gen_chunk*) p);
25 }
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:

◆ gen_tiling_cons()

list gen_tiling_cons ( tiling  p,
list  l 
)

Definition at line 36 of file tiling.c.

36  {
38 }
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 TILING_NEWGEN_DOMAIN
Definition: tiling.h:29

References gen_typed_cons(), and TILING_NEWGEN_DOMAIN.

+ Here is the call graph for this function:

◆ make_tiling()

tiling make_tiling ( matrice  a1,
Pvecteur  a2 
)

Definition at line 56 of file tiling.c.

56  {
57  return (tiling) gen_alloc(3*sizeof(gen_chunk), GEN_CHECK_ALLOC, tiling_domain, a1, a2);
58 }
#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 tiling_domain.

Referenced by loop_nest_to_tile().

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

◆ read_tiling()

tiling read_tiling ( FILE *  f)

Definition at line 53 of file tiling.c.

53  {
54  return (tiling) gen_read(f);
55 }
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:

◆ tiling_assign_contents()

void tiling_assign_contents ( tiling  r,
tiling  v 
)

Definition at line 39 of file tiling.c.

39  {
40  check_tiling(r);
41  check_tiling(v);
42  message_assert("defined references to domain tiling",
44  memcpy(r, v, sizeof(struct _newgen_struct_tiling_));
45 }
tiling check_tiling(tiling p)
Definition: tiling.c:26
bool tiling_defined_p(tiling p)
Definition: tiling.c:33
#define message_assert(msg, ex)
Definition: newgen_assert.h:47

References check_tiling(), message_assert, and tiling_defined_p().

+ Here is the call graph for this function:

◆ tiling_consistent_p()

bool tiling_consistent_p ( tiling  p)

Definition at line 29 of file tiling.c.

29  {
30  check_tiling(p);
31  return gen_consistent_p((gen_chunk*) p);
32 }
int gen_consistent_p(gen_chunk *obj)
GEN_CONSISTENT_P dynamically checks the type correctness of OBJ.
Definition: genClib.c:2398

References check_tiling(), and gen_consistent_p().

+ Here is the call graph for this function:

◆ tiling_defined_p()

bool tiling_defined_p ( tiling  p)

Definition at line 33 of file tiling.c.

33  {
34  return gen_defined_p((gen_chunk*) p);
35 }
int gen_defined_p(gen_chunk *obj)
Definition: genClib.c:2438

References gen_defined_p().

Referenced by tiling_assign_contents().

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

◆ tiling_non_recursive_free()

void tiling_non_recursive_free ( tiling  p)

Definition at line 46 of file tiling.c.

46  {
47  // should clear up contents...
48  free(p);
49 }
void free(void *)

References free().

+ Here is the call graph for this function:

◆ write_tiling()

void write_tiling ( FILE *  f,
tiling  p 
)

Definition at line 50 of file tiling.c.

50  {
51  gen_write(f, (gen_chunk*) p);
52 }
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: