Home | History | Annotate | Download | only in dist

Lines Matching refs:isl

14 #include <isl/options.h>
15 #include <isl/cpp-checked.h>
17 namespace isl { using namespace checked; }
29 static void assert_impl(isl::boolean condition, const char *file, int line,
37 static int size_val(isl::size s)
51 * We check in detail the following parts of the isl::boolean class:
53 * are called on a true, false, or error instance of isl::boolean,
61 void test_return_bool(isl::ctx ctx)
63 isl::set empty(ctx, "{ : false }");
64 isl::set univ(ctx, "{ : }");
65 isl::set null;
67 isl::boolean b_true = empty.is_empty();
68 isl::boolean b_false = univ.is_empty();
69 isl::boolean b_error = null.is_empty();
92 assert(isl::boolean(true).is_true());
93 assert(!isl::boolean(true).is_false());
94 assert(!isl::boolean(true).is_error());
96 assert(isl::boolean(false).is_false());
97 assert(!isl::boolean(false).is_true());
98 assert(!isl::boolean(false).is_error());
100 assert(isl::manage(isl_bool_true).is_true());
101 assert(!isl::manage(isl_bool_true).is_false());
102 assert(!isl::manage(isl_bool_true).is_error());
104 assert(isl::manage(isl_bool_false).is_false());
105 assert(!isl::manage(isl_bool_false).is_true());
106 assert(!isl::manage(isl_bool_false).is_error());
108 assert(isl::manage(isl_bool_error).is_error());
109 assert(!isl::manage(isl_bool_error).is_true());
110 assert(!isl::manage(isl_bool_error).is_false());
115 * Test that isl C++ objects, integers, boolean values, and strings are
118 void test_return(isl::ctx ctx)
131 * lambda and aborts in case isl::stat::error is returned and then returns
132 * isl::stat::error itself.
134 void test_foreach(isl::ctx ctx)
136 isl::set s(ctx, "{ [0]; [1]; [2] }");
138 std::vector<isl::basic_set> basic_sets;
140 auto add_to_vector = [&] (isl::basic_set bs) {
142 return isl::stat::ok();
145 isl::stat ret1 = s.foreach_basic_set(add_to_vector);
149 assert(isl::set(basic_sets[0]).is_subset(s).is_true());
150 assert(isl::set(basic_sets[1]).is_subset(s).is_true());
151 assert(isl::set(basic_sets[2]).is_subset(s).is_true());
154 auto fail = [&] (isl::basic_set bs) {
155 return isl::stat::error();
158 isl::stat ret2 = s.foreach_basic_set(fail);
168 static void test_every(isl::ctx ctx)
170 isl::union_set us(ctx, "{ A[i]; B[j] }");
174 auto fail = [] (isl::set s){
175 return isl::boolean::error();
188 static void test_schedule_tree(isl::ctx ctx)
192 auto fail_map = [](isl::schedule_node node) {
193 return isl::schedule_node();
198 auto inc_count = [&count](isl::schedule_node node) {
200 return isl::boolean(true);
206 auto inc_count_once = [&count](isl::schedule_node node) {
208 return isl::boolean(false);
213 auto is_not_domain = [](isl::schedule_node node) {
214 return !node.isa<isl::schedule_node_domain>();
219 auto fail = [](isl::schedule_node node) {
220 return isl::boolean();
224 auto domain = root.as<isl::schedule_node_domain>().domain();
225 auto filters = isl::union_set(ctx, "{}");
226 auto collect_filters = [&filters](isl::schedule_node node) {
227 if (node.isa<isl::schedule_node_filter>().is_true()) {
228 auto filter = node.as<isl::schedule_node_filter>();
231 return isl::boolean(true);
243 static void test_ast_build(isl::ctx ctx)
250 [&count_ast_fail, &do_fail](isl::ast_node node,
251 isl::ast_build build) {
253 return do_fail ? isl::ast_node() : node;
255 auto build = isl::ast_build(ctx);
263 [&count_ast](isl::ast_node node, isl::ast_build build) {
278 /* Test the isl checked C++ interface
281 * - The isl C <-> C++ pointer interface