nexmon – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | #ifndef ISL_AFF_PRIVATE_H |
2 | #define ISL_AFF_PRIVATE_H |
||
3 | |||
4 | #include <isl/aff.h> |
||
5 | #include <isl/vec.h> |
||
6 | #include <isl/mat.h> |
||
7 | #include <isl/local_space.h> |
||
8 | #include <isl_reordering.h> |
||
9 | |||
10 | /* ls represents the domain space. |
||
11 | */ |
||
12 | struct isl_aff { |
||
13 | int ref; |
||
14 | |||
15 | isl_local_space *ls; |
||
16 | isl_vec *v; |
||
17 | }; |
||
18 | |||
19 | struct isl_pw_aff_piece { |
||
20 | struct isl_set *set; |
||
21 | struct isl_aff *aff; |
||
22 | }; |
||
23 | |||
24 | struct isl_pw_aff { |
||
25 | int ref; |
||
26 | |||
27 | isl_space *dim; |
||
28 | |||
29 | int n; |
||
30 | |||
31 | size_t size; |
||
32 | struct isl_pw_aff_piece p[1]; |
||
33 | }; |
||
34 | |||
35 | struct isl_pw_multi_aff_piece { |
||
36 | isl_set *set; |
||
37 | isl_multi_aff *maff; |
||
38 | }; |
||
39 | |||
40 | struct isl_pw_multi_aff { |
||
41 | int ref; |
||
42 | |||
43 | isl_space *dim; |
||
44 | |||
45 | int n; |
||
46 | |||
47 | size_t size; |
||
48 | struct isl_pw_multi_aff_piece p[1]; |
||
49 | }; |
||
50 | |||
51 | __isl_give isl_aff *isl_aff_alloc(__isl_take isl_local_space *ls); |
||
52 | |||
53 | __isl_give isl_aff *isl_aff_reset_space_and_domain(__isl_take isl_aff *aff, |
||
54 | __isl_take isl_space *space, __isl_take isl_space *domain); |
||
55 | __isl_give isl_aff *isl_aff_reset_domain_space(__isl_take isl_aff *aff, |
||
56 | __isl_take isl_space *dim); |
||
57 | __isl_give isl_aff *isl_aff_realign_domain(__isl_take isl_aff *aff, |
||
58 | __isl_take isl_reordering *r); |
||
59 | |||
60 | __isl_give isl_aff *isl_aff_normalize(__isl_take isl_aff *aff); |
||
61 | |||
62 | __isl_give isl_aff *isl_aff_expand_divs( __isl_take isl_aff *aff, |
||
63 | __isl_take isl_mat *div, int *exp); |
||
64 | |||
65 | __isl_give isl_pw_aff *isl_pw_aff_alloc_size(__isl_take isl_space *space, |
||
66 | int n); |
||
67 | __isl_give isl_pw_aff *isl_pw_aff_reset_space(__isl_take isl_pw_aff *pwaff, |
||
68 | __isl_take isl_space *dim); |
||
69 | __isl_give isl_pw_aff *isl_pw_aff_reset_domain_space( |
||
70 | __isl_take isl_pw_aff *pwaff, __isl_take isl_space *space); |
||
71 | __isl_give isl_pw_aff *isl_pw_aff_add_disjoint( |
||
72 | __isl_take isl_pw_aff *pwaff1, __isl_take isl_pw_aff *pwaff2); |
||
73 | |||
74 | __isl_give isl_pw_aff *isl_pw_aff_union_opt(__isl_take isl_pw_aff *pwaff1, |
||
75 | __isl_take isl_pw_aff *pwaff2, int max); |
||
76 | |||
77 | #undef BASE |
||
78 | #define BASE aff |
||
79 | |||
80 | #include <isl_multi_templ.h> |
||
81 | |||
82 | __isl_give isl_multi_aff *isl_multi_aff_dup(__isl_keep isl_multi_aff *multi); |
||
83 | __isl_give isl_multi_aff *isl_multi_aff_align_params( |
||
84 | __isl_take isl_multi_aff *multi, __isl_take isl_space *model); |
||
85 | |||
86 | __isl_give isl_pw_multi_aff *isl_pw_multi_aff_reset_domain_space( |
||
87 | __isl_take isl_pw_multi_aff *pwmaff, __isl_take isl_space *space); |
||
88 | __isl_give isl_pw_multi_aff *isl_pw_multi_aff_reset_space( |
||
89 | __isl_take isl_pw_multi_aff *pwmaff, __isl_take isl_space *space); |
||
90 | __isl_give isl_pw_multi_aff *isl_pw_multi_aff_add_disjoint( |
||
91 | __isl_take isl_pw_multi_aff *pma1, __isl_take isl_pw_multi_aff *pma2); |
||
92 | |||
93 | __isl_give isl_pw_multi_aff *isl_pw_multi_aff_project_out( |
||
94 | __isl_take isl_pw_multi_aff *pma, |
||
95 | enum isl_dim_type type, unsigned first, unsigned n); |
||
96 | |||
97 | __isl_give isl_pw_multi_aff *isl_pw_multi_aff_substitute( |
||
98 | __isl_take isl_pw_multi_aff *pma, enum isl_dim_type type, unsigned pos, |
||
99 | __isl_keep isl_pw_aff *subs); |
||
100 | |||
101 | #endif |