Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
#ifndef ISL_VAL_H
2
#define ISL_VAL_H
3
 
4
#include <isl/stdint.h>
5
#include <isl/ctx.h>
6
#include <isl/list.h>
7
#include <isl/multi.h>
8
#include <isl/printer.h>
9
#include <isl/val_type.h>
10
 
11
#if defined(__cplusplus)
12
extern "C" {
13
#endif
14
 
15
ISL_DECLARE_MULTI(val)
16
ISL_DECLARE_MULTI_ARITH(val)
17
ISL_DECLARE_MULTI_MIN_MAX(val)
18
ISL_DECLARE_MULTI_ZERO(val)
19
ISL_DECLARE_MULTI_NAN(val)
20
ISL_DECLARE_MULTI_DIMS(val)
21
ISL_DECLARE_MULTI_DIM_ID(val)
22
ISL_DECLARE_MULTI_TUPLE_ID(val)
23
ISL_DECLARE_MULTI_WITH_DOMAIN(val)
24
 
25
__isl_export
26
__isl_give isl_val *isl_val_zero(isl_ctx *ctx);
27
__isl_export
28
__isl_give isl_val *isl_val_one(isl_ctx *ctx);
29
__isl_export
30
__isl_give isl_val *isl_val_negone(isl_ctx *ctx);
31
__isl_export
32
__isl_give isl_val *isl_val_nan(isl_ctx *ctx);
33
__isl_export
34
__isl_give isl_val *isl_val_infty(isl_ctx *ctx);
35
__isl_export
36
__isl_give isl_val *isl_val_neginfty(isl_ctx *ctx);
37
__isl_constructor
38
__isl_give isl_val *isl_val_int_from_si(isl_ctx *ctx, long i);
39
__isl_give isl_val *isl_val_int_from_ui(isl_ctx *ctx, unsigned long u);
40
__isl_give isl_val *isl_val_int_from_chunks(isl_ctx *ctx, size_t n,
41
        size_t size, const void *chunks);
42
 
43
__isl_give isl_val *isl_val_copy(__isl_keep isl_val *v);
44
__isl_null isl_val *isl_val_free(__isl_take isl_val *v);
45
 
46
isl_ctx *isl_val_get_ctx(__isl_keep isl_val *val);
47
uint32_t isl_val_get_hash(__isl_keep isl_val *val);
48
__isl_export
49
long isl_val_get_num_si(__isl_keep isl_val *v);
50
__isl_export
51
long isl_val_get_den_si(__isl_keep isl_val *v);
52
__isl_give isl_val *isl_val_get_den_val(__isl_keep isl_val *v);
53
double isl_val_get_d(__isl_keep isl_val *v);
54
isl_size isl_val_n_abs_num_chunks(__isl_keep isl_val *v, size_t size);
55
isl_stat isl_val_get_abs_num_chunks(__isl_keep isl_val *v, size_t size,
56
        void *chunks);
57
 
58
__isl_give isl_val *isl_val_set_si(__isl_take isl_val *v, long i);
59
 
60
__isl_export
61
__isl_give isl_val *isl_val_abs(__isl_take isl_val *v);
62
__isl_export
63
__isl_give isl_val *isl_val_neg(__isl_take isl_val *v);
64
__isl_export
65
__isl_give isl_val *isl_val_inv(__isl_take isl_val *v);
66
__isl_export
67
__isl_give isl_val *isl_val_floor(__isl_take isl_val *v);
68
__isl_export
69
__isl_give isl_val *isl_val_ceil(__isl_take isl_val *v);
70
__isl_export
71
__isl_give isl_val *isl_val_trunc(__isl_take isl_val *v);
72
__isl_give isl_val *isl_val_2exp(__isl_take isl_val *v);
73
__isl_export
74
__isl_give isl_val *isl_val_pow2(__isl_take isl_val *v);
75
__isl_export
76
__isl_give isl_val *isl_val_min(__isl_take isl_val *v1, __isl_take isl_val *v2);
77
__isl_export
78
__isl_give isl_val *isl_val_max(__isl_take isl_val *v1, __isl_take isl_val *v2);
79
__isl_export
80
__isl_give isl_val *isl_val_add(__isl_take isl_val *v1, __isl_take isl_val *v2);
81
__isl_give isl_val *isl_val_add_ui(__isl_take isl_val *v1, unsigned long v2);
82
__isl_export
83
__isl_give isl_val *isl_val_sub(__isl_take isl_val *v1, __isl_take isl_val *v2);
84
__isl_give isl_val *isl_val_sub_ui(__isl_take isl_val *v1, unsigned long v2);
85
__isl_export
86
__isl_give isl_val *isl_val_mul(__isl_take isl_val *v1, __isl_take isl_val *v2);
87
__isl_give isl_val *isl_val_mul_ui(__isl_take isl_val *v1, unsigned long v2);
88
__isl_export
89
__isl_give isl_val *isl_val_div(__isl_take isl_val *v1, __isl_take isl_val *v2);
90
__isl_give isl_val *isl_val_div_ui(__isl_take isl_val *v1, unsigned long v2);
91
__isl_export
92
__isl_give isl_val *isl_val_mod(__isl_take isl_val *v1, __isl_take isl_val *v2);
93
__isl_export
94
__isl_give isl_val *isl_val_gcd(__isl_take isl_val *v1, __isl_take isl_val *v2);
95
__isl_give isl_val *isl_val_gcdext(__isl_take isl_val *v1,
96
        __isl_take isl_val *v2, __isl_give isl_val **x, __isl_give isl_val **y);
97
 
98
__isl_export
99
int isl_val_sgn(__isl_keep isl_val *v);
100
__isl_export
101
isl_bool isl_val_is_zero(__isl_keep isl_val *v);
102
__isl_export
103
isl_bool isl_val_is_one(__isl_keep isl_val *v);
104
__isl_export
105
isl_bool isl_val_is_negone(__isl_keep isl_val *v);
106
__isl_export
107
isl_bool isl_val_is_nonneg(__isl_keep isl_val *v);
108
__isl_export
109
isl_bool isl_val_is_nonpos(__isl_keep isl_val *v);
110
__isl_export
111
isl_bool isl_val_is_pos(__isl_keep isl_val *v);
112
__isl_export
113
isl_bool isl_val_is_neg(__isl_keep isl_val *v);
114
__isl_export
115
isl_bool isl_val_is_int(__isl_keep isl_val *v);
116
__isl_export
117
isl_bool isl_val_is_rat(__isl_keep isl_val *v);
118
__isl_export
119
isl_bool isl_val_is_nan(__isl_keep isl_val *v);
120
__isl_export
121
isl_bool isl_val_is_infty(__isl_keep isl_val *v);
122
__isl_export
123
isl_bool isl_val_is_neginfty(__isl_keep isl_val *v);
124
 
125
__isl_export
126
int isl_val_cmp_si(__isl_keep isl_val *v, long i);
127
 
128
__isl_export
129
isl_bool isl_val_lt(__isl_keep isl_val *v1, __isl_keep isl_val *v2);
130
__isl_export
131
isl_bool isl_val_le(__isl_keep isl_val *v1, __isl_keep isl_val *v2);
132
__isl_export
133
isl_bool isl_val_gt(__isl_keep isl_val *v1, __isl_keep isl_val *v2);
134
isl_bool isl_val_gt_si(__isl_keep isl_val *v, long i);
135
__isl_export
136
isl_bool isl_val_ge(__isl_keep isl_val *v1, __isl_keep isl_val *v2);
137
__isl_export
138
isl_bool isl_val_eq(__isl_keep isl_val *v1, __isl_keep isl_val *v2);
139
isl_bool isl_val_eq_si(__isl_keep isl_val *v, long i);
140
__isl_export
141
isl_bool isl_val_ne(__isl_keep isl_val *v1, __isl_keep isl_val *v2);
142
__isl_export
143
isl_bool isl_val_abs_eq(__isl_keep isl_val *v1, __isl_keep isl_val *v2);
144
 
145
__isl_export
146
isl_bool isl_val_is_divisible_by(__isl_keep isl_val *v1,
147
        __isl_keep isl_val *v2);
148
 
149
__isl_constructor
150
__isl_give isl_val *isl_val_read_from_str(isl_ctx *ctx, const char *str);
151
__isl_give isl_printer *isl_printer_print_val(__isl_take isl_printer *p,
152
        __isl_keep isl_val *v);
153
void isl_val_dump(__isl_keep isl_val *v);
154
__isl_give char *isl_val_to_str(__isl_keep isl_val *v);
155
 
156
isl_bool isl_multi_val_is_zero(__isl_keep isl_multi_val *mv);
157
 
158
__isl_overload
159
__isl_give isl_multi_val *isl_multi_val_add_val(__isl_take isl_multi_val *mv,
160
        __isl_take isl_val *v);
161
__isl_give isl_multi_val *isl_multi_val_mod_val(__isl_take isl_multi_val *mv,
162
        __isl_take isl_val *v);
163
 
164
__isl_constructor
165
__isl_give isl_multi_val *isl_multi_val_read_from_str(isl_ctx *ctx,
166
        const char *str);
167
__isl_give isl_printer *isl_printer_print_multi_val(__isl_take isl_printer *p,
168
        __isl_keep isl_multi_val *mv);
169
void isl_multi_val_dump(__isl_keep isl_multi_val *mv);
170
__isl_give char *isl_multi_val_to_str(__isl_keep isl_multi_val *mv);
171
 
172
ISL_DECLARE_EXPORTED_LIST_FN(val)
173
ISL_DECLARE_EXPORTED_LIST_FN_READ(val)
174
 
175
#if defined(__cplusplus)
176
}
177
#endif
178
 
179
#endif