Lines Matching defs:isl

1 /// These are automatically generated C++ bindings for isl.
3 /// isl is a library for computing with integer sets and maps described by
4 /// Presburger formulas. On top of this, isl provides various tools for
11 #include <isl/ctx.h>
12 #include <isl/options.h>
40 namespace isl {
76 /* Class capturing isl errors.
99 /* Default behavior on error conditions that occur inside isl calls
101 * In the case exceptions are available, isl should continue
118 * corresponds to what isl would have printed.
225 /* Default behavior on error conditions that occur inside isl calls
227 * In the case exceptions are not available, isl should abort.
239 * isl should already abort when an error condition occurs,
266 } // namespace isl
268 #include <isl/id.h>
269 #include <isl/id_to_id.h>
270 #include <isl/space.h>
271 #include <isl/val.h>
272 #include <isl/aff.h>
273 #include <isl/set.h>
274 #include <isl/map.h>
275 #include <isl/ilp.h>
276 #include <isl/union_set.h>
277 #include <isl/union_map.h>
278 #include <isl/flow.h>
279 #include <isl/schedule.h>
280 #include <isl/schedule_node.h>
281 #include <isl/ast_build.h>
282 #include <isl/fixed_box.h>
284 namespace isl {
374 // declarations for isl::aff
390 inline explicit aff(isl::ctx ctx, const std::string &str);
398 inline isl::ctx ctx() const;
400 inline isl::aff add(isl::aff aff2) const;
401 inline isl::multi_aff add(const isl::multi_aff &multi2) const;
402 inline isl::multi_pw_aff add(const isl::multi_pw_aff &multi2) const;
403 inline isl::multi_union_pw_aff add(const isl::multi_union_pw_aff &multi2) const;
404 inline isl::pw_aff add(const isl::pw_aff &pwaff2) const;
405 inline isl::pw_multi_aff add(const isl::pw_multi_aff &pma2) const;
406 inline isl::union_pw_aff add(const isl::union_pw_aff &upa2) const;
407 inline isl::union_pw_multi_aff add(const isl::union_pw_multi_aff &upma2) const;
408 inline isl::aff add_constant(isl::val v) const;
409 inline isl::aff add_constant(long v) const;
410 inline isl::multi_aff add_constant(const isl::multi_val &mv) const;
411 inline isl::union_pw_multi_aff apply(const isl::union_pw_multi_aff &upma2) const;
412 inline isl::aff as_aff() const;
413 inline isl::map as_map() const;
414 inline isl::multi_aff as_multi_aff() const;
415 inline isl::multi_union_pw_aff as_multi_union_pw_aff() const;
416 inline isl::pw_multi_aff as_pw_multi_aff() const;
417 inline isl::set as_set() const;
418 inline isl::union_map as_union_map() const;
419 inline isl::aff at(int pos) const;
420 inline isl::basic_set bind(isl::id id) const;
421 inline isl::basic_set bind(const std::string &id) const;
422 inline isl::basic_set bind(const isl::multi_id &tuple) const;
423 inline isl::pw_aff bind_domain(const isl::multi_id &tuple) const;
424 inline isl::pw_aff bind_domain_wrapped_domain(const isl::multi_id &tuple) const;
425 inline isl::aff ceil() const;
426 inline isl::pw_aff coalesce() const;
427 inline isl::pw_aff cond(const isl::pw_aff &pwaff_true, const isl::pw_aff &pwaff_false) const;
428 inline isl::multi_val constant_multi_val() const;
429 inline isl::val constant_val() const;
430 inline isl::val get_constant_val() const;
431 inline isl::aff div(isl::aff aff2) const;
432 inline isl::pw_aff div(const isl::pw_aff &pa2) const;
433 inline isl::set domain() const;
434 inline isl::aff domain_reverse() const;
435 inline isl::pw_aff drop_unused_params() const;
436 inline isl::set eq_set(isl::aff aff2) const;
437 inline isl::set eq_set(const isl::pw_aff &pwaff2) const;
438 inline isl::val eval(isl::point pnt) const;
439 inline isl::pw_multi_aff extract_pw_multi_aff(const isl::space &space) const;
440 inline isl::multi_aff flat_range_product(const isl::multi_aff &multi2) const;
441 inline isl::multi_pw_aff flat_range_product(const isl::multi_pw_aff &multi2) const;
442 inline isl::multi_union_pw_aff flat_range_product(const isl::multi_union_pw_aff &multi2) const;
443 inline isl::pw_multi_aff flat_range_product(const isl::pw_multi_aff &pma2) const;
444 inline isl::union_pw_multi_aff flat_range_product(const isl::union_pw_multi_aff &upma2) const;
445 inline isl::aff floor() const;
446 inline void foreach_piece(const std::function<void(isl::set, isl::multi_aff)> &fn) const;
447 inline isl::set ge_set(isl::aff aff2) const;
448 inline isl::set ge_set(const isl::pw_aff &pwaff2) const;
449 inline isl::aff gist(isl::set context) const;
450 inline isl::union_pw_aff gist(const isl::union_set &context) const;
451 inline isl::aff gist(const isl::basic_set &context) const;
452 inline isl::aff gist(const isl::point &context) const;
453 inline isl::aff gist_params(isl::set context) const;
454 inline isl::set gt_set(isl::aff aff2) const;
455 inline isl::set gt_set(const isl::pw_aff &pwaff2) const;
457 inline isl::multi_aff identity() const;
458 inline isl::pw_aff insert_domain(const isl::space &domain) const;
459 inline isl::pw_aff intersect_domain(const isl::set &set) const;
460 inline isl::union_pw_aff intersect_domain(const isl::space &space) const;
461 inline isl::union_pw_aff intersect_domain(const isl::union_set &uset) const;
462 inline isl::union_pw_aff intersect_domain_wrapped_domain(const isl::union_set &uset) const;
463 inline isl::union_pw_aff intersect_domain_wrapped_range(const isl::union_set &uset) const;
464 inline isl::pw_aff intersect_params(const isl::set &set) const;
467 inline bool involves_param(const isl::id &id) const;
469 inline bool involves_param(const isl::id_list &list) const;
474 inline isl::set le_set(isl::aff aff2) const;
475 inline isl::set le_set(const isl::pw_aff &pwaff2) const;
476 inline isl::aff_list list() const;
477 inline isl::set lt_set(isl::aff aff2) const;
478 inline isl::set lt_set(const isl::pw_aff &pwaff2) const;
479 inline isl::multi_pw_aff max(const isl::multi_pw_aff &multi2) const;
480 inline isl::pw_aff max(const isl::pw_aff &pwaff2) const;
481 inline isl::multi_val max_multi_val() const;
482 inline isl::val max_val() const;
483 inline isl::multi_pw_aff min(const isl::multi_pw_aff &multi2) const;
484 inline isl::pw_aff min(const isl::pw_aff &pwaff2) const;
485 inline isl::multi_val min_multi_val() const;
486 inline isl::val min_val() const;
487 inline isl::aff mod(isl::val mod) const;
488 inline isl::aff mod(long mod) const;
489 inline isl::aff mul(isl::aff aff2) const;
490 inline isl::pw_aff mul(const isl::pw_aff &pwaff2) const;
492 inline isl::set ne_set(isl::aff aff2) const;
493 inline isl::set ne_set(const isl::pw_aff &pwaff2) const;
494 inline isl::aff neg() const;
495 inline isl::set params() const;
497 inline bool plain_is_equal(const isl::aff &aff2) const;
498 inline bool plain_is_equal(const isl::multi_aff &multi2) const;
499 inline bool plain_is_equal(const isl::multi_pw_aff &multi2) const;
500 inline bool plain_is_equal(const isl::multi_union_pw_aff &multi2) const;
501 inline bool plain_is_equal(const isl::pw_aff &pwaff2) const;
502 inline bool plain_is_equal(const isl::pw_multi_aff &pma2) const;
503 inline bool plain_is_equal(const isl::union_pw_aff &upa2) const;
504 inline bool plain_is_equal(const isl::union_pw_multi_aff &upma2) const;
505 inline isl::pw_multi_aff preimage_domain_wrapped_domain(const isl::pw_multi_aff &pma2) const;
506 inline isl::union_pw_multi_aff preimage_domain_wrapped_domain(const isl::union_pw_multi_aff &upma2) const;
507 inline isl::multi_aff product(const isl::multi_aff &multi2) const;
508 inline isl::multi_pw_aff product(const isl::multi_pw_aff &multi2) const;
509 inline isl::pw_multi_aff product(const isl::pw_multi_aff &pma2) const;
510 inline isl::aff pullback(isl::multi_aff ma) const;
511 inline isl::pw_aff pullback(const isl::multi_pw_aff &mpa) const;
512 inline isl::pw_aff pullback(const isl::pw_multi_aff &pma) const;
513 inline isl::union_pw_aff pullback(const isl::union_pw_multi_aff &upma) const;
514 inline isl::aff pullback(const isl::aff &ma) const;
515 inline isl::pw_multi_aff_list pw_multi_aff_list() const;
516 inline isl::pw_multi_aff range_factor_domain() const;
517 inline isl::pw_multi_aff range_factor_range() const;
518 inline isl::multi_aff range_product(const isl::multi_aff &multi2) const;
519 inline isl::multi_pw_aff range_product(const isl::multi_pw_aff &multi2) const;
520 inline isl::multi_union_pw_aff range_product(const isl::multi_union_pw_aff &multi2) const;
521 inline isl::pw_multi_aff range_product(const isl::pw_multi_aff &pma2) const;
522 inline isl::union_pw_multi_aff range_product(const isl::union_pw_multi_aff &upma2) const;
523 inline isl::id range_tuple_id() const;
524 inline isl::multi_aff reset_range_tuple_id() const;
525 inline isl::aff scale(isl::val v) const;
526 inline isl::aff scale(long v) const;
527 inline isl::multi_aff scale(const isl::multi_val &mv) const;
528 inline isl::aff scale_down(isl::val v) const;
529 inline isl::aff scale_down(long v) const;
530 inline isl::multi_aff scale_down(const isl::multi_val &mv) const;
531 inline isl::multi_aff set_at(int pos, const isl::aff &el) const;
532 inline isl::multi_pw_aff set_at(int pos, const isl::pw_aff &el) const;
533 inline isl::multi_union_pw_aff set_at(int pos, const isl::union_pw_aff &el) const;
534 inline isl::multi_aff set_range_tuple(const isl::id &id) const;
535 inline isl::multi_aff set_range_tuple(const std::string &id) const;
537 inline isl::space space() const;
538 inline isl::aff sub(isl::aff aff2) const;
539 inline isl::multi_aff sub(const isl::multi_aff &multi2) const;
540 inline isl::multi_pw_aff sub(const isl::multi_pw_aff &multi2) const;
541 inline isl::multi_union_pw_aff sub(const isl::multi_union_pw_aff &multi2) const;
542 inline isl::pw_aff sub(const isl::pw_aff &pwaff2) const;
543 inline isl::pw_multi_aff sub(const isl::pw_multi_aff &pma2) const;
544 inline isl::union_pw_aff sub(const isl::union_pw_aff &upa2) const;
545 inline isl::union_pw_multi_aff sub(const isl::union_pw_multi_aff &upma2) const;
546 inline isl::pw_aff subtract_domain(const isl::set &set) const;
547 inline isl::union_pw_aff subtract_domain(const isl::space &space) const;
548 inline isl::union_pw_aff subtract_domain(const isl::union_set &uset) const;
549 inline isl::pw_aff tdiv_q(const isl::pw_aff &pa2) const;
550 inline isl::pw_aff tdiv_r(const isl::pw_aff &pa2) const;
551 inline isl::aff_list to_list() const;
552 inline isl::multi_pw_aff to_multi_pw_aff() const;
553 inline isl::multi_union_pw_aff to_multi_union_pw_aff() const;
554 inline isl::pw_multi_aff to_pw_multi_aff() const;
555 inline isl::union_pw_aff to_union_pw_aff() const;
556 inline isl::union_pw_multi_aff to_union_pw_multi_aff() const;
557 inline isl::aff unbind_params_insert_domain(isl::multi_id domain) const;
558 inline isl::multi_pw_aff union_add(const isl::multi_pw_aff &mpa2) const;
559 inline isl::multi_union_pw_aff union_add(const isl::multi_union_pw_aff &mupa2) const;
560 inline isl::pw_aff union_add(const isl::pw_aff &pwaff2) const;
561 inline isl::pw_multi_aff union_add(const isl::pw_multi_aff &pma2) const;
562 inline isl::union_pw_aff union_add(const isl::union_pw_aff &upa2) const;
563 inline isl::union_pw_multi_aff union_add(const isl::union_pw_multi_aff &upma2) const;
564 static inline isl::aff zero_on_domain(isl::space space);
567 // declarations for isl::aff_list
583 inline explicit aff_list(isl::ctx ctx, int n);
584 inline explicit aff_list(isl::aff el);
585 inline explicit aff_list(isl::ctx ctx, const std::string &str);
593 inline isl::ctx ctx() const;
595 inline isl::aff_list add(isl::aff el) const;
596 inline isl::aff at(int index) const;
597 inline isl::aff get_at(int index) const;
598 inline isl::aff_list clear() const;
599 inline isl::aff_list concat(isl::aff_list list2) const;
600 inline isl::aff_list drop(unsigned int first, unsigned int n) const;
601 inline void foreach(const std::function<void(isl::aff)> &fn) const;
602 inline void foreach_scc(const std::function<bool(isl::aff, isl::aff)> &follows, const std::function<void(isl::aff_list)> &fn) const;
603 inline isl::aff_list insert(unsigned int pos, isl::aff el) const;
604 inline isl::aff_list set_at(int index, isl::aff el) const;
608 // declarations for isl::ast_build
624 inline explicit ast_build(isl::ctx ctx);
632 inline isl::ctx ctx() const;
637 std::function<isl::ast_node(isl::ast_node, isl::ast_build)> func;
642 inline void set_at_each_domain_data(const std::function<isl::ast_node(isl::ast_node, isl::ast_build)> &fn);
644 inline isl::ast_build set_at_each_domain(const std::function<isl::ast_node(isl::ast_node, isl::ast_build)> &fn) const;
645 inline isl::ast_expr access_from(isl::multi_pw_aff mpa) const;
646 inline isl::ast_expr access_from(isl::pw_multi_aff pma) const;
647 inline isl::ast_expr call_from(isl::multi_pw_aff mpa) const;
648 inline isl::ast_expr call_from(isl::pw_multi_aff pma) const;
649 inline isl::ast_expr expr_from(isl::pw_aff pa) const;
650 inline isl::ast_expr expr_from(isl::set set) const;
651 static inline isl::ast_build from_context(isl::set set);
652 inline isl::ast_node node_from(isl::schedule schedule) const;
653 inline isl::ast_node node_from_schedule_map(isl::union_map schedule) const;
654 inline isl::union_map schedule() const;
655 inline isl::union_map get_schedule() const;
658 // declarations for isl::ast_expr
690 inline isl::ctx ctx() const;
695 // declarations for isl::ast_expr_id
710 inline isl::ctx ctx() const;
712 inline isl::id id() const;
713 inline isl::id get_id() const;
716 // declarations for isl::ast_expr_int
731 inline isl::ctx ctx() const;
733 inline isl::val val() const;
734 inline isl::val get_val() const;
737 // declarations for isl::ast_expr_op
761 inline isl::ctx ctx() const;
763 inline isl::ast_expr arg(int pos) const;
764 inline isl::ast_expr get_arg(int pos) const;
769 // declarations for isl::ast_expr_op_access
784 inline isl::ctx ctx() const;
788 // declarations for isl::ast_expr_op_add
803 inline isl::ctx ctx() const;
807 // declarations for isl::ast_expr_op_address_of
822 inline isl::ctx ctx() const;
826 // declarations for isl::ast_expr_op_and
841 inline isl::ctx ctx() const;
845 // declarations for isl::ast_expr_op_and_then
860 inline isl::ctx ctx() const;
864 // declarations for isl::ast_expr_op_call
879 inline isl::ctx ctx() const;
883 // declarations for isl::ast_expr_op_cond
898 inline isl::ctx ctx() const;
902 // declarations for isl::ast_expr_op_div
917 inline isl::ctx ctx() const;
921 // declarations for isl::ast_expr_op_eq
936 inline isl::ctx ctx() const;
940 // declarations for isl::ast_expr_op_fdiv_q
955 inline isl::ctx ctx() const;
959 // declarations for isl::ast_expr_op_ge
974 inline isl::ctx ctx() const;
978 // declarations for isl::ast_expr_op_gt
993 inline isl::ctx ctx() const;
997 // declarations for isl::ast_expr_op_le
1012 inline isl::ctx ctx() const;
1016 // declarations for isl::ast_expr_op_lt
1031 inline isl::ctx ctx() const;
1035 // declarations for isl::ast_expr_op_max
1050 inline isl::ctx ctx() const;
1054 // declarations for isl::ast_expr_op_member
1069 inline isl::ctx ctx() const;
1073 // declarations for isl::ast_expr_op_min
1088 inline isl::ctx ctx() const;
1092 // declarations for isl::ast_expr_op_minus
1107 inline isl::ctx ctx() const;
1111 // declarations for isl::ast_expr_op_mul
1126 inline isl::ctx ctx() const;
1130 // declarations for isl::ast_expr_op_or
1145 inline isl::ctx ctx() const;
1149 // declarations for isl::ast_expr_op_or_else
1164 inline isl::ctx ctx() const;
1168 // declarations for isl::ast_expr_op_pdiv_q
1183 inline isl::ctx ctx() const;
1187 // declarations for isl::ast_expr_op_pdiv_r
1202 inline isl::ctx ctx() const;
1206 // declarations for isl::ast_expr_op_select
1221 inline isl::ctx ctx() const;
1225 // declarations for isl::ast_expr_op_sub
1240 inline isl::ctx ctx() const;
1244 // declarations for isl::ast_expr_op_zdiv_r
1259 inline isl::ctx ctx() const;
1263 // declarations for isl::ast_node
1295 inline isl::ctx ctx() const;
1297 inline isl::ast_node map_descendant_bottom_up(const std::function<isl::ast_node(isl::ast_node)> &fn) const;
1299 inline isl::ast_node_list to_list() const;
1302 // declarations for isl::ast_node_block
1316 inline explicit ast_node_block(isl::ast_node_list list);
1318 inline isl::ctx ctx() const;
1320 inline isl::ast_node_list children() const;
1321 inline isl::ast_node_list get_children() const;
1324 // declarations for isl::ast_node_for
1339 inline isl::ctx ctx() const;
1341 inline isl::ast_node body() const;
1342 inline isl::ast_node get_body() const;
1343 inline isl::ast_expr cond() const;
1344 inline isl::ast_expr get_cond() const;
1345 inline isl::ast_expr inc() const;
1346 inline isl::ast_expr get_inc() const;
1347 inline isl::ast_expr init() const;
1348 inline isl::ast_expr get_init() const;
1350 inline isl::ast_expr iterator() const;
1351 inline isl::ast_expr get_iterator() const;
1354 // declarations for isl::ast_node_if
1369 inline isl::ctx ctx() const;
1371 inline isl::ast_expr cond() const;
1372 inline isl::ast_expr get_cond() const;
1373 inline isl::ast_node else_node() const;
1374 inline isl::ast_node get_else_node() const;
1376 inline isl::ast_node then_node() const;
1377 inline isl::ast_node get_then_node() const;
1380 // declarations for isl::ast_node_list
1396 inline explicit ast_node_list(isl::ctx ctx, int n);
1397 inline explicit ast_node_list(isl::ast_node el);
1405 inline isl::ctx ctx() const;
1407 inline isl::ast_node_list add(isl::ast_node el) const;
1408 inline isl::ast_node at(int index) const;
1409 inline isl::ast_node get_at(int index) const;
1410 inline isl::ast_node_list clear() const;
1411 inline isl::ast_node_list concat(isl::ast_node_list list2) const;
1412 inline isl::ast_node_list drop(unsigned int first, unsigned int n) const;
1413 inline void foreach(const std::function<void(isl::ast_node)> &fn) const;
1414 inline void foreach_scc(const std::function<bool(isl::ast_node, isl::ast_node)> &follows, const std::function<void(isl::ast_node_list)> &fn) const;
1415 inline isl::ast_node_list insert(unsigned int pos, isl::ast_node el) const;
1416 inline isl::ast_node_list set_at(int index, isl::ast_node el) const;
1420 // declarations for isl::ast_node_mark
1435 inline isl::ctx ctx() const;
1437 inline isl::id id() const;
1438 inline isl::id get_id() const;
1439 inline isl::ast_node node() const;
1440 inline isl::ast_node get_node() const;
1443 // declarations for isl::ast_node_user
1457 inline explicit ast_node_user(isl::ast_expr expr);
1459 inline isl::ctx ctx() const;
1461 inline isl::ast_expr expr() const;
1462 inline isl::ast_expr get_expr() const;
1465 // declarations for isl::basic_map
1481 inline explicit basic_map(isl::ctx ctx, const std::string &str);
1489 inline isl::ctx ctx() const;
1491 inline isl::basic_map affine_hull() const;
1492 inline isl::basic_map apply_domain(isl::basic_map bmap2) const;
1493 inline isl::map apply_domain(const isl::map &map2) const;
1494 inline isl::union_map apply_domain(const isl::union_map &umap2) const;
1495 inline isl::basic_map apply_range(isl::basic_map bmap2) const;
1496 inline isl::map apply_range(const isl::map &map2) const;
1497 inline isl::union_map apply_range(const isl::union_map &umap2) const;
1498 inline isl::map as_map() const;
1499 inline isl::multi_union_pw_aff as_multi_union_pw_aff() const;
1500 inline isl::pw_multi_aff as_pw_multi_aff() const;
1501 inline isl::union_pw_multi_aff as_union_pw_multi_aff() const;
1502 inline isl::set bind_domain(const isl::multi_id &tuple) const;
1503 inline isl::set bind_range(const isl::multi_id &tuple) const;
1504 inline isl::map coalesce() const;
1505 inline isl::map complement() const;
1506 inline isl::union_map compute_divs() const;
1507 inline isl::map curry() const;
1508 inline isl::basic_set deltas() const;
1509 inline isl::basic_map detect_equalities() const;
1510 inline isl::set domain() const;
1511 inline isl::map domain_factor_domain() const;
1512 inline isl::map domain_factor_range() const;
1513 inline isl::union_map domain_map() const;
1514 inline isl::union_pw_multi_aff domain_map_union_pw_multi_aff() const;
1515 inline isl::map domain_product(const isl::map &map2) const;
1516 inline isl::union_map domain_product(const isl::union_map &umap2) const;
1517 inline isl::map domain_reverse() const;
1519 inline isl::id domain_tuple_id() const;
1520 inline isl::map drop_unused_params() const;
1521 inline isl::map eq_at(const isl::multi_pw_aff &mpa) const;
1522 inline isl::union_map eq_at(const isl::multi_union_pw_aff &mupa) const;
1523 inline bool every_map(const std::function<bool(isl::map)> &test) const;
1524 inline isl::map extract_map(const isl::space &space) const;
1525 inline isl::map factor_domain() const;
1526 inline isl::map factor_range() const;
1527 inline isl::map fixed_power(const isl::val &exp) const;
1528 inline isl::map fixed_power(long exp) const;
1529 inline isl::basic_map flatten() const;
1530 inline isl::basic_map flatten_domain() const;
1531 inline isl::basic_map flatten_range() const;
1532 inline void foreach_basic_map(const std::function<void(isl::basic_map)> &fn) const;
1533 inline void foreach_map(const std::function<void(isl::map)> &fn) const;
1534 inline isl::basic_map gist(isl::basic_map context) const;
1535 inline isl::map gist(const isl::map &context) const;
1536 inline isl::union_map gist(const isl::union_map &context) const;
1537 inline isl::map gist_domain(const isl::set &context) const;
1538 inline isl::union_map gist_domain(const isl::union_set &uset) const;
1539 inline isl::map gist_params(const isl::set &context) const;
1540 inline isl::union_map gist_range(const isl::union_set &uset) const;
1543 inline isl::basic_map intersect(isl::basic_map bmap2) const;
1544 inline isl::map intersect(const isl::map &map2) const;
1545 inline isl::union_map intersect(const isl::union_map &umap2) const;
1546 inline isl::basic_map intersect_domain(isl::basic_set bset) const;
1547 inline isl::map intersect_domain(const isl::set &set) const;
1548 inline isl::union_map intersect_domain(const isl::space &space) const;
1549 inline isl::union_map intersect_domain(const isl::union_set &uset) const;
1550 inline isl::basic_map intersect_domain(const isl::point &bset) const;
1551 inline isl::map intersect_domain_factor_domain(const isl::map &factor) const;
1552 inline isl::union_map intersect_domain_factor_domain(const isl::union_map &factor) const;
1553 inline isl::map intersect_domain_factor_range(const isl::map &factor) const;
1554 inline isl::union_map intersect_domain_factor_range(const isl::union_map &factor) const;
1555 inline isl::map intersect_domain_wrapped_domain(const isl::set &domain) const;
1556 inline isl::union_map intersect_domain_wrapped_domain(const isl::union_set &domain) const;
1557 inline isl::map intersect_params(const isl::set &params) const;
1558 inline isl::basic_map intersect_range(isl::basic_set bset) const;
1559 inline isl::map intersect_range(const isl::set &set) const;
1560 inline isl::union_map intersect_range(const isl::space &space) const;
1561 inline isl::union_map intersect_range(const isl::union_set &uset) const;
1562 inline isl::basic_map intersect_range(const isl::point &bset) const;
1563 inline isl::map intersect_range_factor_domain(const isl::map &factor) const;
1564 inline isl::union_map intersect_range_factor_domain(const isl::union_map &factor) const;
1565 inline isl::map intersect_range_factor_range(const isl::map &factor) const;
1566 inline isl::union_map intersect_range_factor_range(const isl::union_map &factor) const;
1567 inline isl::map intersect_range_wrapped_domain(const isl::set &domain) const;
1568 inline isl::union_map intersect_range_wrapped_domain(const isl::union_set &domain) const;
1570 inline bool is_disjoint(const isl::map &map2) const;
1571 inline bool is_disjoint(const isl::union_map &umap2) const;
1573 inline bool is_equal(const isl::basic_map &bmap2) const;
1574 inline bool is_equal(const isl::map &map2) const;
1575 inline bool is_equal(const isl::union_map &umap2) const;
1578 inline bool is_strict_subset(const isl::map &map2) const;
1579 inline bool is_strict_subset(const isl::union_map &umap2) const;
1580 inline bool is_subset(const isl::basic_map &bmap2) const;
1581 inline bool is_subset(const isl::map &map2) const;
1582 inline bool is_subset(const isl::union_map &umap2) const;
1584 inline isl::map lex_ge_at(const isl::multi_pw_aff &mpa) const;
1585 inline isl::map lex_gt_at(const isl::multi_pw_aff &mpa) const;
1586 inline isl::map lex_le_at(const isl::multi_pw_aff &mpa) const;
1587 inline isl::map lex_lt_at(const isl::multi_pw_aff &mpa) const;
1588 inline isl::map lexmax() const;
1589 inline isl::pw_multi_aff lexmax_pw_multi_aff() const;
1590 inline isl::map lexmin() const;
1591 inline isl::pw_multi_aff lexmin_pw_multi_aff() const;
1592 inline isl::map lower_bound(const isl::multi_pw_aff &lower) const;
1593 inline isl::map_list map_list() const;
1594 inline isl::multi_pw_aff max_multi_pw_aff() const;
1595 inline isl::multi_pw_aff min_multi_pw_aff() const;
1597 inline isl::set params() const;
1598 inline isl::basic_map polyhedral_hull() const;
1599 inline isl::map preimage_domain(const isl::multi_aff &ma) const;
1600 inline isl::map preimage_domain(const isl::multi_pw_aff &mpa) const;
1601 inline isl::map preimage_domain(const isl::pw_multi_aff &pma) const;
1602 inline isl::union_map preimage_domain(const isl::union_pw_multi_aff &upma) const;
1603 inline isl::map preimage_range(const isl::multi_aff &ma) const;
1604 inline isl::map preimage_range(const isl::pw_multi_aff &pma) const;
1605 inline isl::union_map preimage_range(const isl::union_pw_multi_aff &upma) const;
1606 inline isl::map product(const isl::map &map2) const;
1607 inline isl::union_map product(const isl::union_map &umap2) const;
1608 inline isl::map project_out_all_params() const;
1609 inline isl::map project_out_param(const isl::id &id) const;
1610 inline isl::map project_out_param(const std::string &id) const;
1611 inline isl::map project_out_param(const isl::id_list &list) const;
1612 inline isl::set range() const;
1613 inline isl::map range_factor_domain() const;
1614 inline isl::map range_factor_range() const;
1615 inline isl::fixed_box range_lattice_tile() const;
1616 inline isl::union_map range_map() const;
1617 inline isl::map range_product(const isl::map &map2) const;
1618 inline isl::union_map range_product(const isl::union_map &umap2) const;
1619 inline isl::map range_reverse() const;
1620 inline isl::fixed_box range_simple_fixed_box_hull() const;
1622 inline isl::id range_tuple_id() const;
1623 inline isl::basic_map reverse() const;
1624 inline isl::basic_map sample() const;
1625 inline isl::map set_domain_tuple(const isl::id &id) const;
1626 inline isl::map set_domain_tuple(const std::string &id) const;
1627 inline isl::map set_range_tuple(const isl::id &id) const;
1628 inline isl::map set_range_tuple(const std::string &id) const;
1629 inline isl::space space() const;
1630 inline isl::map subtract(const isl::map &map2) const;
1631 inline isl::union_map subtract(const isl::union_map &umap2) const;
1632 inline isl::union_map subtract_domain(const isl::union_set &dom) const;
1633 inline isl::union_map subtract_range(const isl::union_set &dom) const;
1634 inline isl::map_list to_list() const;
1635 inline isl::union_map to_union_map() const;
1636 inline isl::map uncurry() const;
1637 inline isl::map unite(isl::basic_map bmap2) const;
1638 inline isl::map unite(const isl::map &map2) const;
1639 inline isl::union_map unite(const isl::union_map &umap2) const;
1640 inline isl::basic_map unshifted_simple_hull() const;
1641 inline isl::map upper_bound(const isl::multi_pw_aff &upper) const;
1642 inline isl::set wrap() const;
1643 inline isl::map zip() const;
1646 // declarations for isl::basic_set
1662 inline /* implicit */ basic_set(isl::point pnt);
1663 inline explicit basic_set(isl::ctx ctx, const std::string &str);
1671 inline isl::ctx ctx() const;
1673 inline isl::basic_set affine_hull() const;
1674 inline isl::basic_set apply(isl::basic_map bmap) const;
1675 inline isl::set apply(const isl::map &map) const;
1676 inline isl::union_set apply(const isl::union_map &umap) const;
1677 inline isl::pw_multi_aff as_pw_multi_aff() const;
1678 inline isl::set as_set() const;
1679 inline isl::set bind(const isl::multi_id &tuple) const;
1680 inline isl::set coalesce() const;
1681 inline isl::set complement() const;
1682 inline isl::union_set compute_divs() const;
1683 inline isl::basic_set detect_equalities() const;
1684 inline isl::val dim_max_val(int pos) const;
1685 inline isl::val dim_min_val(int pos) const;
1686 inline isl::set drop_unused_params() const;
1687 inline bool every_set(const std::function<bool(isl::set)> &test) const;
1688 inline isl::set extract_set(const isl::space &space) const;
1689 inline isl::basic_set flatten() const;
1690 inline void foreach_basic_set(const std::function<void(isl::basic_set)> &fn) const;
1691 inline void foreach_point(const std::function<void(isl::point)> &fn) const;
1692 inline void foreach_set(const std::function<void(isl::set)> &fn) const;
1693 inline isl::basic_set gist(isl::basic_set context) const;
1694 inline isl::set gist(const isl::set &context) const;
1695 inline isl::union_set gist(const isl::union_set &context) const;
1696 inline isl::basic_set gist(const isl::point &context) const;
1697 inline isl::set gist_params(const isl::set &context) const;
1698 inline isl::map identity() const;
1699 inline isl::pw_aff indicator_function() const;
1700 inline isl::map insert_domain(const isl::space &domain) const;
1701 inline isl::basic_set intersect(isl::basic_set bset2) const;
1702 inline isl::set intersect(const isl::set &set2) const;
1703 inline isl::union_set intersect(const isl::union_set &uset2) const;
1704 inline isl::basic_set intersect(const isl::point &bset2) const;
1705 inline isl::basic_set intersect_params(isl::basic_set bset2) const;
1706 inline isl::set intersect_params(const isl::set &params) const;
1707 inline isl::basic_set intersect_params(const isl::point &bset2) const;
1709 inline bool is_disjoint(const isl::set &set2) const;
1710 inline bool is_disjoint(const isl::union_set &uset2) const;
1712 inline bool is_equal(const isl::basic_set &bset2) const;
1713 inline bool is_equal(const isl::set &set2) const;
1714 inline bool is_equal(const isl::union_set &uset2) const;
1715 inline bool is_equal(const isl::point &bset2) const;
1717 inline bool is_strict_subset(const isl::set &set2) const;
1718 inline bool is_strict_subset(const isl::union_set &uset2) const;
1719 inline bool is_subset(const isl::basic_set &bset2) const;
1720 inline bool is_subset(const isl::set &set2) const;
1721 inline bool is_subset(const isl::union_set &uset2) const;
1722 inline bool is_subset(const isl::point &bset2) const;
1725 inline isl::fixed_box lattice_tile() const;
1726 inline isl::set lexmax() const;
1727 inline isl::pw_multi_aff lexmax_pw_multi_aff() const;
1728 inline isl::set lexmin() const;
1729 inline isl::pw_multi_aff lexmin_pw_multi_aff() const;
1730 inline isl::set lower_bound(const isl::multi_pw_aff &lower) const;
1731 inline isl::set lower_bound(const isl::multi_val &lower) const;
1732 inline isl::multi_pw_aff max_multi_pw_aff() const;
1733 inline isl::val max_val(const isl::aff &obj) const;
1734 inline isl::multi_pw_aff min_multi_pw_aff() const;
1735 inline isl::val min_val(const isl::aff &obj) const;
1737 inline isl::pw_aff param_pw_aff_on_domain(const isl::id &id) const;
1738 inline isl::pw_aff param_pw_aff_on_domain(const std::string &id) const;
1739 inline isl::basic_set params() const;
1740 inline isl::multi_val plain_multi_val_if_fixed() const;
1741 inline isl::basic_set polyhedral_hull() const;
1742 inline isl::set preimage(const isl::multi_aff &ma) const;
1743 inline isl::set preimage(const isl::multi_pw_aff &mpa) const;
1744 inline isl::set preimage(const isl::pw_multi_aff &pma) const;
1745 inline isl::union_set preimage(const isl::union_pw_multi_aff &upma) const;
1746 inline isl::set product(const isl::set &set2) const;
1747 inline isl::set project_out_all_params() const;
1748 inline isl::set project_out_param(const isl::id &id) const;
1749 inline isl::set project_out_param(const std::string &id) const;
1750 inline isl::set project_out_param(const isl::id_list &list) const;
1751 inline isl::pw_aff pw_aff_on_domain(const isl::val &v) const;
1752 inline isl::pw_aff pw_aff_on_domain(long v) const;
1753 inline isl::pw_multi_aff pw_multi_aff_on_domain(const isl::multi_val &mv) const;
1754 inline isl::basic_set sample() const;
1755 inline isl::point sample_point() const;
1756 inline isl::set_list set_list() const;
1757 inline isl::fixed_box simple_fixed_box_hull() const;
1758 inline isl::space space() const;
1759 inline isl::val stride(int pos) const;
1760 inline isl::set subtract(const isl::set &set2) const;
1761 inline isl::union_set subtract(const isl::union_set &uset2) const;
1762 inline isl::set_list to_list() const;
1763 inline isl::set to_set() const;
1764 inline isl::union_set to_union_set() const;
1765 inline isl::map translation() const;
1767 inline isl::set unbind_params(const isl::multi_id &tuple) const;
1768 inline isl::map unbind_params_insert_domain(const isl::multi_id &domain) const;
1769 inline isl::set unite(isl::basic_set bset2) const;
1770 inline isl::set unite(const isl::set &set2) const;
1771 inline isl::union_set unite(const isl::union_set &uset2) const;
1772 inline isl::set unite(const isl::point &bset2) const;
1773 inline isl::basic_set unshifted_simple_hull() const;
1774 inline isl::map unwrap() const;
1775 inline isl::set upper_bound(const isl::multi_pw_aff &upper) const;
1776 inline isl::set upper_bound(const isl::multi_val &upper) const;
1777 inline isl::set wrapped_reverse() const;
1780 // declarations for isl::fixed_box
1796 inline explicit fixed_box(isl::ctx ctx, const std::string &str);
1804 inline isl::ctx ctx() const;
1807 inline isl::multi_aff offset() const;
1808 inline isl::multi_aff get_offset() const;
1809 inline isl::multi_val size() const;
1810 inline isl::multi_val get_size() const;
1811 inline isl::space space() const;
1812 inline isl::space get_space() const;
1815 // declarations for isl::id
1831 inline explicit id(isl::ctx ctx, const std::string &str);
1839 inline isl::ctx ctx() const;
1843 inline isl::id_list to_list() const;
1846 inline explicit id(isl::ctx ctx, const std::string &str, const std::any &any);
1854 // declarations for isl::id_list
1870 inline explicit id_list(isl::ctx ctx, int n);
1871 inline explicit id_list(isl::id el);
1872 inline explicit id_list(isl::ctx ctx, const std::string &str);
1880 inline isl::ctx ctx() const;
1882 inline isl::id_list add(isl::id el) const;
1883 inline isl::id_list add(const std::string &el) const;
1884 inline isl::id at(int index) const;
1885 inline isl::id get_at(int index) const;
1886 inline isl::id_list clear() const;
1887 inline isl::id_list concat(isl::id_list list2) const;
1888 inline isl::id_list drop(unsigned int first, unsigned int n) const;
1889 inline void foreach(const std::function<void(isl::id)> &fn) const;
1890 inline void foreach_scc(const std::function<bool(isl::id, isl::id)> &follows, const std::function<void(isl::id_list)> &fn) const;
1891 inline isl::id_list insert(unsigned int pos, isl::id el) const;
1892 inline isl::id_list insert(unsigned int pos, const std::string &el) const;
1893 inline isl::id_list set_at(int index, isl::id el) const;
1894 inline isl::id_list set_at(int index, const std::string &el) const;
1898 // declarations for isl::id_to_ast_expr
1914 inline explicit id_to_ast_expr(isl::ctx ctx, int min_size);
1915 inline explicit id_to_ast_expr(isl::ctx ctx, const std::string &str);
1923 inline isl::ctx ctx() const;
1925 inline bool is_equal(const isl::id_to_ast_expr &hmap2) const;
1926 inline isl::id_to_ast_expr set(isl::id key, isl::ast_expr val) const;
1927 inline isl::id_to_ast_expr set(const std::string &key, const isl::ast_expr &val) const;
1930 // declarations for isl::id_to_id
1946 inline explicit id_to_id(isl::ctx ctx, int min_size);
1947 inline explicit id_to_id(isl::ctx ctx, const std::string &str);
1955 inline isl::ctx ctx() const;
1957 inline bool is_equal(const isl::id_to_id &hmap2) const;
1958 inline isl::id_to_id set(isl::id key, isl::id val) const;
1959 inline isl::id_to_id set(const isl::id &key, const std::string &val) const;
1960 inline isl::id_to_id set(const std::string &key, const isl::id &val) const;
1961 inline isl::id_to_id set(const std::string &key, const std::string &val) const;
1964 // declarations for isl::map
1980 inline /* implicit */ map(isl::basic_map bmap);
1981 inline explicit map(isl::ctx ctx, const std::string &str);
1989 inline isl::ctx ctx() const;
1991 inline isl::basic_map affine_hull() const;
1992 inline isl::map apply_domain(isl::map map2) const;
1993 inline isl::union_map apply_domain(const isl::union_map &umap2) const;
1994 inline isl::map apply_domain(const isl::basic_map &map2) const;
1995 inline isl::map apply_range(isl::map map2) const;
1996 inline isl::union_map apply_range(const isl::union_map &umap2) const;
1997 inline isl::map apply_range(const isl::basic_map &map2) const;
1998 inline isl::map as_map() const;
1999 inline isl::multi_union_pw_aff as_multi_union_pw_aff() const;
2000 inline isl::pw_multi_aff as_pw_multi_aff() const;
2001 inline isl::union_pw_multi_aff as_union_pw_multi_aff() const;
2002 inline isl::set bind_domain(isl::multi_id tuple) const;
2003 inline isl::set bind_range(isl::multi_id tuple) const;
2004 inline isl::map coalesce() const;
2005 inline isl::map complement() const;
2006 inline isl::union_map compute_divs() const;
2007 inline isl::map curry() const;
2008 inline isl::set deltas() const;
2009 inline isl::map detect_equalities() const;
2010 inline isl::set domain() const;
2011 inline isl::map domain_factor_domain() const;
2012 inline isl::map domain_factor_range() const;
2013 inline isl::union_map domain_map() const;
2014 inline isl::union_pw_multi_aff domain_map_union_pw_multi_aff() const;
2015 inline isl::map domain_product(isl::map map2) const;
2016 inline isl::union_map domain_product(const isl::union_map &umap2) const;
2017 inline isl::map domain_product(const isl::basic_map &map2) const;
2018 inline isl::map domain_reverse() const;
2020 inline isl::id domain_tuple_id() const;
2021 inline isl::id get_domain_tuple_id() const;
2022 inline isl::map drop_unused_params() const;
2023 static inline isl::map empty(isl::space space);
2024 inline isl::map eq_at(isl::multi_pw_aff mpa) const;
2025 inline isl::union_map eq_at(const isl::multi_union_pw_aff &mupa) const;
2026 inline isl::map eq_at(const isl::aff &mpa) const;
2027 inline isl::map eq_at(const isl::multi_aff &mpa) const;
2028 inline isl::map eq_at(const isl::pw_aff &mpa) const;
2029 inline isl::map eq_at(const isl::pw_multi_aff &mpa) const;
2030 inline bool every_map(const std::function<bool(isl::map)> &test) const;
2031 inline isl::map extract_map(const isl::space &space) const;
2032 inline isl::map factor_domain() const;
2033 inline isl::map factor_range() const;
2034 inline isl::map fixed_power(isl::val exp) const;
2035 inline isl::map fixed_power(long exp) const;
2036 inline isl::map flatten() const;
2037 inline isl::map flatten_domain() const;
2038 inline isl::map flatten_range() const;
2039 inline void foreach_basic_map(const std::function<void(isl::basic_map)> &fn) const;
2040 inline void foreach_map(const std::function<void(isl::map)> &fn) const;
2041 inline isl::map gist(isl::map context) const;
2042 inline isl::union_map gist(const isl::union_map &context) const;
2043 inline isl::map gist(const isl::basic_map &context) const;
2044 inline isl::map gist_domain(isl::set context) const;
2045 inline isl::union_map gist_domain(const isl::union_set &uset) const;
2046 inline isl::map gist_domain(const isl::basic_set &context) const;
2047 inline isl::map gist_domain(const isl::point &context) const;
2048 inline isl::map gist_params(isl::set context) const;
2049 inline isl::union_map gist_range(const isl::union_set &uset) const;
2052 inline isl::map intersect(isl::map map2) const;
2053 inline isl::union_map intersect(const isl::union_map &umap2) const;
2054 inline isl::map intersect(const isl::basic_map &map2) const;
2055 inline isl::map intersect_domain(isl::set set) const;
2056 inline isl::union_map intersect_domain(const isl::space &space) const;
2057 inline isl::union_map intersect_domain(const isl::union_set &uset) const;
2058 inline isl::map intersect_domain(const isl::basic_set &set) const;
2059 inline isl::map intersect_domain(const isl::point &set) const;
2060 inline isl::map intersect_domain_factor_domain(isl::map factor) const;
2061 inline isl::union_map intersect_domain_factor_domain(const isl::union_map &factor) const;
2062 inline isl::map intersect_domain_factor_domain(const isl::basic_map &factor) const;
2063 inline isl::map intersect_domain_factor_range(isl::map factor) const;
2064 inline isl::union_map intersect_domain_factor_range(const isl::union_map &factor) const;
2065 inline isl::map intersect_domain_factor_range(const isl::basic_map &factor) const;
2066 inline isl::map intersect_domain_wrapped_domain(isl::set domain) const;
2067 inline isl::union_map intersect_domain_wrapped_domain(const isl::union_set &domain) const;
2068 inline isl::map intersect_domain_wrapped_domain(const isl::basic_set &domain) const;
2069 inline isl::map intersect_domain_wrapped_domain(const isl::point &domain) const;
2070 inline isl::map intersect_params(isl::set params) const;
2071 inline isl::map intersect_range(isl::set set) const;
2072 inline isl::union_map intersect_range(const isl::space &space) const;
2073 inline isl::union_map intersect_range(const isl::union_set &uset) const;
2074 inline isl::map intersect_range(const isl::basic_set &set) const;
2075 inline isl::map intersect_range(const isl::point &set) const;
2076 inline isl::map intersect_range_factor_domain(isl::map factor) const;
2077 inline isl::union_map intersect_range_factor_domain(const isl::union_map &factor) const;
2078 inline isl::map intersect_range_factor_domain(const isl::basic_map &factor) const;
2079 inline isl::map intersect_range_factor_range(isl::map factor) const;
2080 inline isl::union_map intersect_range_factor_range(const isl::union_map &factor) const;
2081 inline isl::map intersect_range_factor_range(const isl::basic_map &factor) const;
2082 inline isl::map intersect_range_wrapped_domain(isl::set domain) const;
2083 inline isl::union_map intersect_range_wrapped_domain(const isl::union_set &domain) const;
2084 inline isl::map intersect_range_wrapped_domain(const isl::basic_set &domain) const;
2085 inline isl::map intersect_range_wrapped_domain(const isl::point &domain) const;
2087 inline bool is_disjoint(const isl::map &map2) const;
2088 inline bool is_disjoint(const isl::union_map &umap2) const;
2089 inline bool is_disjoint(const isl::basic_map &map2) const;
2091 inline bool is_equal(const isl::map &map2) const;
2092 inline bool is_equal(const isl::union_map &umap2) const;
2093 inline bool is_equal(const isl::basic_map &map2) const;
2096 inline bool is_strict_subset(const isl::map &map2) const;
2097 inline bool is_strict_subset(const isl::union_map &umap2) const;
2098 inline bool is_strict_subset(const isl::basic_map &map2) const;
2099 inline bool is_subset(const isl::map &map2) const;
2100 inline bool is_subset(const isl::union_map &umap2) const;
2101 inline bool is_subset(const isl::basic_map &map2) const;
2103 inline isl::map lex_ge_at(isl::multi_pw_aff mpa) const;
2104 inline isl::map lex_gt_at(isl::multi_pw_aff mpa) const;
2105 inline isl::map lex_le_at(isl::multi_pw_aff mpa) const;
2106 inline isl::map lex_lt_at(isl::multi_pw_aff mpa) const;
2107 inline isl::map lexmax() const;
2108 inline isl::pw_multi_aff lexmax_pw_multi_aff() const;
2109 inline isl::map lexmin() const;
2110 inline isl::pw_multi_aff lexmin_pw_multi_aff() const;
2111 inline isl::map lower_bound(isl::multi_pw_aff lower) const;
2112 inline isl::map_list map_list() const;
2113 inline isl::multi_pw_aff max_multi_pw_aff() const;
2114 inline isl::multi_pw_aff min_multi_pw_aff() const;
2116 inline isl::set params() const;
2117 inline isl::basic_map polyhedral_hull() const;
2118 inline isl::map preimage_domain(isl::multi_aff ma) const;
2119 inline isl::map preimage_domain(isl::multi_pw_aff mpa) const;
2120 inline isl::map preimage_domain(isl::pw_multi_aff pma) const;
2121 inline isl::union_map preimage_domain(const isl::union_pw_multi_aff &upma) const;
2122 inline isl::map preimage_range(isl::multi_aff ma) const;
2123 inline isl::map preimage_range(isl::pw_multi_aff pma) const;
2124 inline isl::union_map preimage_range(const isl::union_pw_multi_aff &upma) const;
2125 inline isl::map product(isl::map map2) const;
2126 inline isl::union_map product(const isl::union_map &umap2) const;
2127 inline isl::map product(const isl::basic_map &map2) const;
2128 inline isl::map project_out_all_params() const;
2129 inline isl::map project_out_param(isl::id id) const;
2130 inline isl::map project_out_param(const std::string &id) const;
2131 inline isl::map project_out_param(isl::id_list list) const;
2132 inline isl::set range() const;
2133 inline isl::map range_factor_domain() const;
2134 inline isl::map range_factor_range() const;
2135 inline isl::fixed_box range_lattice_tile() const;
2136 inline isl::fixed_box get_range_lattice_tile() const;
2137 inline isl::union_map range_map() const;
2138 inline isl::map range_product(isl::map map2) const;
2139 inline isl::union_map range_product(const isl::union_map &umap2) const;
2140 inline isl::map range_product(const isl::basic_map &map2) const;
2141 inline isl::map range_reverse() const;
2142 inline isl::fixed_box range_simple_fixed_box_hull() const;
2143 inline isl::fixed_box get_range_simple_fixed_box_hull() const;
2145 inline isl::id range_tuple_id() const;
2146 inline isl::id get_range_tuple_id() const;
2147 inline isl::map reverse() const;
2148 inline isl::basic_map sample() const;
2149 inline isl::map set_domain_tuple(isl::id id) const;
2150 inline isl::map set_domain_tuple(const std::string &id) const;
2151 inline isl::map set_range_tuple(isl::id id) const;
2152 inline isl::map set_range_tuple(const std::string &id) const;
2153 inline isl::space space() const;
2154 inline isl::space get_space() const;
2155 inline isl::map subtract(isl::map map2) const;
2156 inline isl::union_map subtract(const isl::union_map &umap2) const;
2157 inline isl::map subtract(const isl::basic_map &map2) const;
2158 inline isl::union_map subtract_domain(const isl::union_set &dom) const;
2159 inline isl::union_map subtract_range(const isl::union_set &dom) const;
2160 inline isl::map_list to_list() const;
2161 inline isl::union_map to_union_map() const;
2162 inline isl::map uncurry() const;
2163 inline isl::map unite(isl::map map2) const;
2164 inline isl::union_map unite(const isl::union_map &umap2) const;
2165 inline isl::map unite(const isl::basic_map &map2) const;
2166 static inline isl::map universe(isl::space space);
2167 inline isl::basic_map unshifted_simple_hull() const;
2168 inline isl::map upper_bound(isl::multi_pw_aff upper) const;
2169 inline isl::set wrap() const;
2170 inline isl::map zip() const;
2173 // declarations for isl::map_list
2189 inline explicit map_list(isl::ctx ctx, int n);
2190 inline explicit map_list(isl::map el);
2191 inline explicit map_list(isl::ctx ctx, const std::string &str);
2199 inline isl::ctx ctx() const;
2201 inline isl::map_list add(isl::map el) const;
2202 inline isl::map at(int index) const;
2203 inline isl::map get_at(int index) const;
2204 inline isl::map_list clear() const;
2205 inline isl::map_list concat(isl::map_list list2) const;
2206 inline isl::map_list drop(unsigned int first, unsigned int n) const;
2207 inline void foreach(const std::function<void(isl::map)> &fn) const;
2208 inline void foreach_scc(const std::function<bool(isl::map, isl::map)> &follows, const std::function<void(isl::map_list)> &fn) const;
2209 inline isl::map_list insert(unsigned int pos, isl::map el) const;
2210 inline isl::map_list set_at(int index, isl::map el) const;
2214 // declarations for isl::multi_aff
2230 inline /* implicit */ multi_aff(isl::aff aff);
2231 inline explicit multi_aff(isl::space space, isl::aff_list list);
2232 inline explicit multi_aff(isl::ctx ctx, const std::string &str);
2240 inline isl::ctx ctx() const;
2242 inline isl::multi_aff add(isl::multi_aff multi2) const;
2243 inline isl::multi_pw_aff add(const isl::multi_pw_aff &multi2) const;
2244 inline isl::multi_union_pw_aff add(const isl::multi_union_pw_aff &multi2) const;
2245 inline isl::pw_multi_aff add(const isl::pw_multi_aff &pma2) const;
2246 inline isl::union_pw_multi_aff add(const isl::union_pw_multi_aff &upma2) const;
2247 inline isl::multi_aff add(const isl::aff &multi2) const;
2248 inline isl::multi_aff add_constant(isl::multi_val mv) const;
2249 inline isl::multi_aff add_constant(isl::val v) const;
2250 inline isl::multi_aff add_constant(long v) const;
2251 inline isl::union_pw_multi_aff apply(const isl::union_pw_multi_aff &upma2) const;
2252 inline isl::map as_map() const;
2253 inline isl::multi_aff as_multi_aff() const;
2254 inline isl::multi_union_pw_aff as_multi_union_pw_aff() const;
2255 inline isl::pw_multi_aff as_pw_multi_aff() const;
2256 inline isl::set as_set() const;
2257 inline isl::union_map as_union_map() const;
2258 inline isl::aff at(int pos) const;
2259 inline isl::aff get_at(int pos) const;
2260 inline isl::basic_set bind(isl::multi_id tuple) const;
2261 inline isl::multi_aff bind_domain(isl::multi_id tuple) const;
2262 inline isl::multi_aff bind_domain_wrapped_domain(isl::multi_id tuple) const;
2263 inline isl::pw_multi_aff coalesce() const;
2264 inline isl::multi_val constant_multi_val() const;
2265 inline isl::multi_val get_constant_multi_val() const;
2266 inline isl::set domain() const;
2267 static inline isl::multi_aff domain_map(isl::space space);
2268 inline isl::multi_aff domain_reverse() const;
2269 inline isl::pw_multi_aff drop_unused_params() const;
2270 inline isl::pw_multi_aff extract_pw_multi_aff(const isl::space &space) const;
2271 inline isl::multi_aff flat_range_product(isl::multi_aff multi2) const;
2272 inline isl::multi_pw_aff flat_range_product(const isl::multi_pw_aff &multi2) const;
2273 inline isl::multi_union_pw_aff flat_range_product(const isl::multi_union_pw_aff &multi2) const;
2274 inline isl::pw_multi_aff flat_range_product(const isl::pw_multi_aff &pma2) const;
2275 inline isl::union_pw_multi_aff flat_range_product(const isl::union_pw_multi_aff &upma2) const;
2276 inline isl::multi_aff flat_range_product(const isl::aff &multi2) const;
2277 inline isl::multi_aff floor() const;
2278 inline void foreach_piece(const std::function<void(isl::set, isl::multi_aff)> &fn) const;
2279 inline isl::multi_aff gist(isl::set context) const;
2280 inline isl::union_pw_multi_aff gist(const isl::union_set &context) const;
2281 inline isl::multi_aff gist(const isl::basic_set &context) const;
2282 inline isl::multi_aff gist(const isl::point &context) const;
2283 inline isl::multi_aff gist_params(isl::set context) const;
2285 inline isl::multi_aff identity() const;
2286 static inline isl::multi_aff identity_on_domain(isl::space space);
2287 inline isl::multi_aff insert_domain(isl::space domain) const;
2288 inline isl::pw_multi_aff intersect_domain(const isl::set &set) const;
2289 inline isl::union_pw_multi_aff intersect_domain(const isl::space &space) const;
2290 inline isl::union_pw_multi_aff intersect_domain(const isl::union_set &uset) const;
2291 inline isl::union_pw_multi_aff intersect_domain_wrapped_domain(const isl::union_set &uset) const;
2292 inline isl::union_pw_multi_aff intersect_domain_wrapped_range(const isl::union_set &uset) const;
2293 inline isl::pw_multi_aff intersect_params(const isl::set &set) const;
2296 inline bool involves_param(const isl::id &id) const;
2298 inline bool involves_param(const isl::id_list &list) const;
2301 inline isl::aff_list list() const;
2302 inline isl::aff_list get_list() const;
2303 inline isl::multi_pw_aff max(const isl::multi_pw_aff &multi2) const;
2304 inline isl::multi_val max_multi_val() const;
2305 inline isl::multi_pw_aff min(const isl::multi_pw_aff &multi2) const;
2306 inline isl::multi_val min_multi_val() const;
2307 static inline isl::multi_aff multi_val_on_domain(isl::space space, isl::multi_val mv);
2309 inline isl::multi_aff neg() const;
2311 inline bool plain_is_equal(const isl::multi_aff &multi2) const;
2312 inline bool plain_is_equal(const isl::multi_pw_aff &multi2) const;
2313 inline bool plain_is_equal(const isl::multi_union_pw_aff &multi2) const;
2314 inline bool plain_is_equal(const isl::pw_multi_aff &pma2) const;
2315 inline bool plain_is_equal(const isl::union_pw_multi_aff &upma2) const;
2316 inline bool plain_is_equal(const isl::aff &multi2) const;
2317 inline isl::pw_multi_aff preimage_domain_wrapped_domain(const isl::pw_multi_aff &pma2) const;
2318 inline isl::union_pw_multi_aff preimage_domain_wrapped_domain(const isl::union_pw_multi_aff &upma2) const;
2319 inline isl::multi_aff product(isl::multi_aff multi2) const;
2320 inline isl::multi_pw_aff product(const isl::multi_pw_aff &multi2) const;
2321 inline isl::pw_multi_aff product(const isl::pw_multi_aff &pma2) const;
2322 inline isl::multi_aff product(const isl::aff &multi2) const;
2323 inline isl::multi_aff pullback(isl::multi_aff ma2) const;
2324 inline isl::multi_pw_aff pullback(const isl::multi_pw_aff &mpa2) const;
2325 inline isl::pw_multi_aff pullback(const isl::pw_multi_aff &pma2) const;
2326 inline isl::union_pw_multi_aff pullback(const isl::union_pw_multi_aff &upma2) const;
2327 inline isl::multi_aff pullback(const isl::aff &ma2) const;
2328 inline isl::pw_multi_aff_list pw_multi_aff_list() const;
2329 inline isl::pw_multi_aff range_factor_domain() const;
2330 inline isl::pw_multi_aff range_factor_range() const;
2331 static inline isl::multi_aff range_map(isl::space space);
2332 inline isl::multi_aff range_product(isl::multi_aff multi2) const;
2333 inline isl::multi_pw_aff range_product(const isl::multi_pw_aff &multi2) const;
2334 inline isl::multi_union_pw_aff range_product(const isl::multi_union_pw_aff &multi2) const;
2335 inline isl::pw_multi_aff range_product(const isl::pw_multi_aff &pma2) const;
2336 inline isl::union_pw_multi_aff range_product(const isl::union_pw_multi_aff &upma2) const;
2337 inline isl::multi_aff range_product(const isl::aff &multi2) const;
2338 inline isl::id range_tuple_id() const;
2339 inline isl::id get_range_tuple_id() const;
2340 inline isl::multi_aff reset_range_tuple_id() const;
2341 inline isl::multi_aff scale(isl::multi_val mv) const;
2342 inline isl::multi_aff scale(isl::val v) const;
2343 inline isl::multi_aff scale(long v) const;
2344 inline isl::multi_aff scale_down(isl::multi_val mv) const;
2345 inline isl::multi_aff scale_down(isl::val v) const;
2346 inline isl::multi_aff scale_down(long v) const;
2347 inline isl::multi_aff set_at(int pos, isl::aff el) const;
2348 inline isl::multi_pw_aff set_at(int pos, const isl::pw_aff &el) const;
2349 inline isl::multi_union_pw_aff set_at(int pos, const isl::union_pw_aff &el) const;
2350 inline isl::multi_aff set_range_tuple(isl::id id) const;
2351 inline isl::multi_aff set_range_tuple(const std::string &id) const;
2353 inline isl::space space() const;
2354 inline isl::space get_space() const;
2355 inline isl::multi_aff sub(isl::multi_aff multi2) const;
2356 inline isl::multi_pw_aff sub(const isl::multi_pw_aff &multi2) const;
2357 inline isl::multi_union_pw_aff sub(const isl::multi_union_pw_aff &multi2) const;
2358 inline isl::pw_multi_aff sub(const isl::pw_multi_aff &pma2) const;
2359 inline isl::union_pw_multi_aff sub(const isl::union_pw_multi_aff &upma2) const;
2360 inline isl::multi_aff sub(const isl::aff &multi2) const;
2361 inline isl::pw_multi_aff subtract_domain(const isl::set &set) const;
2362 inline isl::union_pw_multi_aff subtract_domain(const isl::space &space) const;
2363 inline isl::union_pw_multi_aff subtract_domain(const isl::union_set &uset) const;
2364 inline isl::pw_multi_aff_list to_list() const;
2365 inline isl::multi_pw_aff to_multi_pw_aff() const;
2366 inline isl::multi_union_pw_aff to_multi_union_pw_aff() const;
2367 inline isl::pw_multi_aff to_pw_multi_aff() const;
2368 inline isl::union_pw_multi_aff to_union_pw_multi_aff() const;
2369 inline isl::multi_aff unbind_params_insert_domain(isl::multi_id domain) const;
2370 inline isl::multi_pw_aff union_add(const isl::multi_pw_aff &mpa2) const;
2371 inline isl::multi_union_pw_aff union_add(const isl::multi_union_pw_aff &mupa2) const;
2372 inline isl::pw_multi_aff union_add(const isl::pw_multi_aff &pma2) const;
2373 inline isl::union_pw_multi_aff union_add(const isl::union_pw_multi_aff &upma2) const;
2374 static inline isl::multi_aff zero(isl::space space);
2377 // declarations for isl::multi_id
2393 inline explicit multi_id(isl::space space, isl::id_list list);
2394 inline explicit multi_id(isl::ctx ctx, const std::string &str);
2402 inline isl::ctx ctx() const;
2404 inline isl::id at(int pos) const;
2405 inline isl::id get_at(int pos) const;
2406 inline isl::multi_id flat_range_product(isl::multi_id multi2) const;
2407 inline isl::id_list list() const;
2408 inline isl::id_list get_list() const;
2409 inline bool plain_is_equal(const isl::multi_id &multi2) const;
2410 inline isl::multi_id range_product(isl::multi_id multi2) const;
2411 inline isl::multi_id set_at(int pos, isl::id el) const;
2412 inline isl::multi_id set_at(int pos, const std::string &el) const;
2414 inline isl::space space() const;
2415 inline isl::space get_space() const;
2418 // declarations for isl::multi_pw_aff
2434 inline /* implicit */ multi_pw_aff(isl::aff aff);
2435 inline /* implicit */ multi_pw_aff(isl::multi_aff ma);
2436 inline /* implicit */ multi_pw_aff(isl::pw_aff pa);
2437 inline explicit multi_pw_aff(isl::space space, isl::pw_aff_list list);
2438 inline /* implicit */ multi_pw_aff(isl::pw_multi_aff pma);
2439 inline explicit multi_pw_aff(isl::ctx ctx, const std::string &str);
2447 inline isl::ctx ctx() const;
2449 inline isl::multi_pw_aff add(isl::multi_pw_aff multi2) const;
2450 inline isl::multi_union_pw_aff add(const isl::multi_union_pw_aff &multi2) const;
2451 inline isl::multi_pw_aff add(const isl::aff &multi2) const;
2452 inline isl::multi_pw_aff add(const isl::multi_aff &multi2) const;
2453 inline isl::multi_pw_aff add(const isl::pw_aff &multi2) const;
2454 inline isl::multi_pw_aff add(const isl::pw_multi_aff &multi2) const;
2455 inline isl::multi_pw_aff add_constant(isl::multi_val mv) const;
2456 inline isl::multi_pw_aff add_constant(isl::val v) const;
2457 inline isl::multi_pw_aff add_constant(long v) const;
2458 inline isl::map as_map() const;
2459 inline isl::multi_aff as_multi_aff() const;
2460 inline isl::set as_set() const;
2461 inline isl::pw_aff at(int pos) const;
2462 inline isl::pw_aff get_at(int pos) const;
2463 inline isl::set bind(isl::multi_id tuple) const;
2464 inline isl::multi_pw_aff bind_domain(isl::multi_id tuple) const;
2465 inline isl::multi_pw_aff bind_domain_wrapped_domain(isl::multi_id tuple) const;
2466 inline isl::multi_pw_aff coalesce() const;
2467 inline isl::set domain() const;
2468 inline isl::multi_pw_aff domain_reverse() const;
2469 inline isl::multi_pw_aff flat_range_product(isl::multi_pw_aff multi2) const;
2470 inline isl::multi_union_pw_aff flat_range_product(const isl::multi_union_pw_aff &multi2) const;
2471 inline isl::multi_pw_aff flat_range_product(const isl::aff &multi2) const;
2472 inline isl::multi_pw_aff flat_range_product(const isl::multi_aff &multi2) const;
2473 inline isl::multi_pw_aff flat_range_product(const isl::pw_aff &multi2) const;
2474 inline isl::multi_pw_aff flat_range_product(const isl::pw_multi_aff &multi2) const;
2475 inline isl::multi_pw_aff gist(isl::set set) const;
2476 inline isl::multi_union_pw_aff gist(const isl::union_set &context) const;
2477 inline isl::multi_pw_aff gist(const isl::basic_set &set) const;
2478 inline isl::multi_pw_aff gist(const isl::point &set) const;
2479 inline isl::multi_pw_aff gist_params(isl::set set) const;
2481 inline isl::multi_pw_aff identity() const;
2482 static inline isl::multi_pw_aff identity_on_domain(isl::space space);
2483 inline isl::multi_pw_aff insert_domain(isl::space domain) const;
2484 inline isl::multi_pw_aff intersect_domain(isl::set domain) const;
2485 inline isl::multi_union_pw_aff intersect_domain(const isl::union_set &uset) const;
2486 inline isl::multi_pw_aff intersect_domain(const isl::basic_set &domain) const;
2487 inline isl::multi_pw_aff intersect_domain(const isl::point &domain) const;
2488 inline isl::multi_pw_aff intersect_params(isl::set set) const;
2490 inline bool involves_param(const isl::id &id) const;
2492 inline bool involves_param(const isl::id_list &list) const;
2494 inline isl::pw_aff_list list() const;
2495 inline isl::pw_aff_list get_list() const;
2496 inline isl::multi_pw_aff max(isl::multi_pw_aff multi2) const;
2497 inline isl::multi_val max_multi_val() const;
2498 inline isl::multi_pw_aff min(isl::multi_pw_aff multi2) const;
2499 inline isl::multi_val min_multi_val() const;
2500 inline isl::multi_pw_aff neg() const;
2501 inline bool plain_is_equal(const isl::multi_pw_aff &multi2) const;
2502 inline bool plain_is_equal(const isl::multi_union_pw_aff &multi2) const;
2503 inline bool plain_is_equal(const isl::aff &multi2) const;
2504 inline bool plain_is_equal(const isl::multi_aff &multi2) const;
2505 inline bool plain_is_equal(const isl::pw_aff &multi2) const;
2506 inline bool plain_is_equal(const isl::pw_multi_aff &multi2) const;
2507 inline isl::multi_pw_aff product(isl::multi_pw_aff multi2) const;
2508 inline isl::multi_pw_aff pullback(isl::multi_aff ma) const;
2509 inline isl::multi_pw_aff pullback(isl::multi_pw_aff mpa2) const;
2510 inline isl::multi_pw_aff pullback(isl::pw_multi_aff pma) const;
2511 inline isl::multi_union_pw_aff pullback(const isl::union_pw_multi_aff &upma) const;
2512 inline isl::multi_pw_aff range_product(isl::multi_pw_aff multi2) const;
2513 inline isl::multi_union_pw_aff range_product(const isl::multi_union_pw_aff &multi2) const;
2514 inline isl::multi_pw_aff range_product(const isl::aff &multi2) const;
2515 inline isl::multi_pw_aff range_product(const isl::multi_aff &multi2) const;
2516 inline isl::multi_pw_aff range_product(const isl::pw_aff &multi2) const;
2517 inline isl::multi_pw_aff range_product(const isl::pw_multi_aff &multi2) const;
2518 inline isl::id range_tuple_id() const;
2519 inline isl::id get_range_tuple_id() const;
2520 inline isl::multi_pw_aff reset_range_tuple_id() const;
2521 inline isl::multi_pw_aff scale(isl::multi_val mv) const;
2522 inline isl::multi_pw_aff scale(isl::val v) const;
2523 inline isl::multi_pw_aff scale(long v) const;
2524 inline isl::multi_pw_aff scale_down(isl::multi_val mv) const;
2525 inline isl::multi_pw_aff scale_down(isl::val v) const;
2526 inline isl::multi_pw_aff scale_down(long v) const;
2527 inline isl::multi_pw_aff set_at(int pos, isl::pw_aff el) const;
2528 inline isl::multi_union_pw_aff set_at(int pos, const isl::union_pw_aff &el) const;
2529 inline isl::multi_pw_aff set_range_tuple(isl::id id) const;
2530 inline isl::multi_pw_aff set_range_tuple(const std::string &id) const;
2532 inline isl::space space() const;
2533 inline isl::space get_space() const;
2534 inline isl::multi_pw_aff sub(isl::multi_pw_aff multi2) const;
2535 inline isl::multi_union_pw_aff sub(const isl::multi_union_pw_aff &multi2) const;
2536 inline isl::multi_pw_aff sub(const isl::aff &multi2) const;
2537 inline isl::multi_pw_aff sub(const isl::multi_aff &multi2) const;
2538 inline isl::multi_pw_aff sub(const isl::pw_aff &multi2) const;
2539 inline isl::multi_pw_aff sub(const isl::pw_multi_aff &multi2) const;
2540 inline isl::multi_pw_aff unbind_params_insert_domain(isl::multi_id domain) const;
2541 inline isl::multi_pw_aff union_add(isl::multi_pw_aff mpa2) const;
2542 inline isl::multi_union_pw_aff union_add(const isl::multi_union_pw_aff &mupa2) const;
2543 inline isl::multi_pw_aff union_add(const isl::aff &mpa2) const;
2544 inline isl::multi_pw_aff union_add(const isl::multi_aff &mpa2) const;
2545 inline isl::multi_pw_aff union_add(const isl::pw_aff &mpa2) const;
2546 inline isl::multi_pw_aff union_add(const isl::pw_multi_aff &mpa2) const;
2547 static inline isl::multi_pw_aff zero(isl::space space);
2550 // declarations for isl::multi_union_pw_aff
2566 inline /* implicit */ multi_union_pw_aff(isl::multi_pw_aff mpa);
2567 inline /* implicit */ multi_union_pw_aff(isl::union_pw_aff upa);
2568 inline explicit multi_union_pw_aff(isl::space space, isl::union_pw_aff_list list);
2569 inline explicit multi_union_pw_aff(isl::ctx ctx, const std::string &str);
2577 inline isl::ctx ctx() const;
2579 inline isl::multi_union_pw_aff add(isl::multi_union_pw_aff multi2) const;
2580 inline isl::union_pw_aff at(int pos) const;
2581 inline isl::union_pw_aff get_at(int pos) const;
2582 inline isl::union_set bind(isl::multi_id tuple) const;
2583 inline isl::multi_union_pw_aff coalesce() const;
2584 inline isl::union_set domain() const;
2585 inline isl::multi_union_pw_aff flat_range_product(isl::multi_union_pw_aff multi2) const;
2586 inline isl::multi_union_pw_aff gist(isl::union_set context) const;
2587 inline isl::multi_union_pw_aff gist_params(isl::set context) const;
2589 inline isl::multi_union_pw_aff intersect_domain(isl::union_set uset) const;
2590 inline isl::multi_union_pw_aff intersect_params(isl::set params) const;
2592 inline isl::union_pw_aff_list list() const;
2593 inline isl::union_pw_aff_list get_list() const;
2594 inline isl::multi_union_pw_aff neg() const;
2595 inline bool plain_is_equal(const isl::multi_union_pw_aff &multi2) const;
2596 inline isl::multi_union_pw_aff pullback(isl::union_pw_multi_aff upma) const;
2597 inline isl::multi_union_pw_aff range_product(isl::multi_union_pw_aff multi2) const;
2598 inline isl::id range_tuple_id() const;
2599 inline isl::id get_range_tuple_id() const;
2600 inline isl::multi_union_pw_aff reset_range_tuple_id() const;
2601 inline isl::multi_union_pw_aff scale(isl::multi_val mv) const;
2602 inline isl::multi_union_pw_aff scale(isl::val v) const;
2603 inline isl::multi_union_pw_aff scale(long v) const;
2604 inline isl::multi_union_pw_aff scale_down(isl::multi_val mv) const;
2605 inline isl::multi_union_pw_aff scale_down(isl::val v) const;
2606 inline isl::multi_union_pw_aff scale_down(long v) const;
2607 inline isl::multi_union_pw_aff set_at(int pos, isl::union_pw_aff el) const;
2608 inline isl::multi_union_pw_aff set_range_tuple(isl::id id) const;
2609 inline isl::multi_union_pw_aff set_range_tuple(const std::string &id) const;
2611 inline isl::space space() const;
2612 inline isl::space get_space() const;
2613 inline isl::multi_union_pw_aff sub(isl::multi_union_pw_aff multi2) const;
2614 inline isl::multi_union_pw_aff union_add(isl::multi_union_pw_aff mupa2) const;
2615 static inline isl::multi_union_pw_aff zero(isl::space space);
2618 // declarations for isl::multi_val
2634 inline explicit multi_val(isl::space space, isl::val_list list);
2635 inline explicit multi_val(isl::ctx ctx, const std::string &str);
2643 inline isl::ctx ctx() const;
2645 inline isl::multi_val add(isl::multi_val multi2) const;
2646 inline isl::multi_val add(isl::val v) const;
2647 inline isl::multi_val add(long v) const;
2648 inline isl::val at(int pos) const;
2649 inline isl::val get_at(int pos) const;
2650 inline isl::multi_val flat_range_product(isl::multi_val multi2) const;
2653 inline isl::val_list list() const;
2654 inline isl::val_list get_list() const;
2655 inline isl::multi_val max(isl::multi_val multi2) const;
2656 inline isl::multi_val min(isl::multi_val multi2) const;
2657 inline isl::multi_val neg() const;
2658 inline bool plain_is_equal(const isl::multi_val &multi2) const;
2659 inline isl::multi_val product(isl::multi_val multi2) const;
2660 inline isl::multi_val range_product(isl::multi_val multi2) const;
2661 inline isl::id range_tuple_id() const;
2662 inline isl::id get_range_tuple_id() const;
2663 inline isl::multi_val reset_range_tuple_id() const;
2664 inline isl::multi_val scale(isl::multi_val mv) const;
2665 inline isl::multi_val scale(isl::val v) const;
2666 inline isl::multi_val scale(long v) const;
2667 inline isl::multi_val scale_down(isl::multi_val mv) const;
2668 inline isl::multi_val scale_down(isl::val v) const;
2669 inline isl::multi_val scale_down(long v) const;
2670 inline isl::multi_val set_at(int pos, isl::val el) const;
2671 inline isl::multi_val set_at(int pos, long el) const;
2672 inline isl::multi_val set_range_tuple(isl::id id) const;
2673 inline isl::multi_val set_range_tuple(const std::string &id) const;
2675 inline isl::space space() const;
2676 inline isl::space get_space() const;
2677 inline isl::multi_val sub(isl::multi_val multi2) const;
2678 static inline isl::multi_val zero(isl::space space);
2681 // declarations for isl::point
2704 inline isl::ctx ctx() const;
2706 inline isl::basic_set affine_hull() const;
2707 inline isl::basic_set apply(const isl::basic_map &bmap) const;
2708 inline isl::set apply(const isl::map &map) const;
2709 inline isl::union_set apply(const isl::union_map &umap) const;
2710 inline isl::pw_multi_aff as_pw_multi_aff() const;
2711 inline isl::set as_set() const;
2712 inline isl::set bind(const isl::multi_id &tuple) const;
2713 inline isl::set coalesce() const;
2714 inline isl::set complement() const;
2715 inline isl::union_set compute_divs() const;
2716 inline isl::basic_set detect_equalities() const;
2717 inline isl::val dim_max_val(int pos) const;
2718 inline isl::val dim_min_val(int pos) const;
2719 inline isl::set drop_unused_params() const;
2720 inline bool every_set(const std::function<bool(isl::set)> &test) const;
2721 inline isl::set extract_set(const isl::space &space) const;
2722 inline isl::basic_set flatten() const;
2723 inline void foreach_basic_set(const std::function<void(isl::basic_set)> &fn) const;
2724 inline void foreach_point(const std::function<void(isl::point)> &fn) const;
2725 inline void foreach_set(const std::function<void(isl::set)> &fn) const;
2726 inline isl::basic_set gist(const isl::basic_set &context) const;
2727 inline isl::set gist(const isl::set &context) const;
2728 inline isl::union_set gist(const isl::union_set &context) const;
2729 inline isl::set gist_params(const isl::set &context) const;
2730 inline isl::map identity() const;
2731 inline isl::pw_aff indicator_function() const;
2732 inline isl::map insert_domain(const isl::space &domain) const;
2733 inline isl::basic_set intersect(const isl::basic_set &bset2) const;
2734 inline isl::set intersect(const isl::set &set2) const;
2735 inline isl::union_set intersect(const isl::union_set &uset2) const;
2736 inline isl::basic_set intersect_params(const isl::basic_set &bset2) const;
2737 inline isl::set intersect_params(const isl::set &params) const;
2739 inline bool is_disjoint(const isl::set &set2) const;
2740 inline bool is_disjoint(const isl::union_set &uset2) const;
2742 inline bool is_equal(const isl::basic_set &bset2) const;
2743 inline bool is_equal(const isl::set &set2) const;
2744 inline bool is_equal(const isl::union_set &uset2) const;
2746 inline bool is_strict_subset(const isl::set &set2) const;
2747 inline bool is_strict_subset(const isl::union_set &uset2) const;
2748 inline bool is_subset(const isl::basic_set &bset2) const;
2749 inline bool is_subset(const isl::set &set2) const;
2750 inline bool is_subset(const isl::union_set &uset2) const;
2753 inline isl::fixed_box lattice_tile() const;
2754 inline isl::set lexmax() const;
2755 inline isl::pw_multi_aff lexmax_pw_multi_aff() const;
2756 inline isl::set lexmin() const;
2757 inline isl::pw_multi_aff lexmin_pw_multi_aff() const;
2758 inline isl::set lower_bound(const isl::multi_pw_aff &lower) const;
2759 inline isl::set lower_bound(const isl::multi_val &lower) const;
2760 inline isl::multi_pw_aff max_multi_pw_aff() const;
2761 inline isl::val max_val(const isl::aff &obj) const;
2762 inline isl::multi_pw_aff min_multi_pw_aff() const;
2763 inline isl::val min_val(const isl::aff &obj) const;
2764 inline isl::multi_val multi_val() const;
2765 inline isl::multi_val get_multi_val() const;
2767 inline isl::pw_aff param_pw_aff_on_domain(const isl::id &id) const;
2768 inline isl::pw_aff param_pw_aff_on_domain(const std::string &id) const;
2769 inline isl::basic_set params() const;
2770 inline isl::multi_val plain_multi_val_if_fixed() const;
2771 inline isl::basic_set polyhedral_hull() const;
2772 inline isl::set preimage(const isl::multi_aff &ma) const;
2773 inline isl::set preimage(const isl::multi_pw_aff &mpa) const;
2774 inline isl::set preimage(const isl::pw_multi_aff &pma) const;
2775 inline isl::union_set preimage(const isl::union_pw_multi_aff &upma) const;
2776 inline isl::set product(const isl::set &set2) const;
2777 inline isl::set project_out_all_params() const;
2778 inline isl::set project_out_param(const isl::id &id) const;
2779 inline isl::set project_out_param(const std::string &id) const;
2780 inline isl::set project_out_param(const isl::id_list &list) const;
2781 inline isl::pw_aff pw_aff_on_domain(const isl::val &v) const;
2782 inline isl::pw_aff pw_aff_on_domain(long v) const;
2783 inline isl::pw_multi_aff pw_multi_aff_on_domain(const isl::multi_val &mv) const;
2784 inline isl::basic_set sample() const;
2785 inline isl::point sample_point() const;
2786 inline isl::set_list set_list() const;
2787 inline isl::fixed_box simple_fixed_box_hull() const;
2788 inline isl::space space() const;
2789 inline isl::val stride(int pos) const;
2790 inline isl::set subtract(const isl::set &set2) const;
2791 inline isl::union_set subtract(const isl::union_set &uset2) const;
2792 inline isl::set_list to_list() const;
2793 inline isl::set to_set() const;
2794 inline isl::union_set to_union_set() const;
2795 inline isl::map translation() const;
2797 inline isl::set unbind_params(const isl::multi_id &tuple) const;
2798 inline isl::map unbind_params_insert_domain(const isl::multi_id &domain) const;
2799 inline isl::set unite(const isl::basic_set &bset2) const;
2800 inline isl::set unite(const isl::set &set2) const;
2801 inline isl::union_set unite(const isl::union_set &uset2) const;
2802 inline isl::basic_set unshifted_simple_hull() const;
2803 inline isl::map unwrap() const;
2804 inline isl::set upper_bound(const isl::multi_pw_aff &upper) const;
2805 inline isl::set upper_bound(const isl::multi_val &upper) const;
2806 inline isl::set wrapped_reverse() const;
2809 // declarations for isl::pw_aff
2825 inline /* implicit */ pw_aff(isl::aff aff);
2826 inline explicit pw_aff(isl::ctx ctx, const std::string &str);
2834 inline isl::ctx ctx() const;
2836 inline isl::multi_pw_aff add(const isl::multi_pw_aff &multi2) const;
2837 inline isl::multi_union_pw_aff add(const isl::multi_union_pw_aff &multi2) const;
2838 inline isl::pw_aff add(isl::pw_aff pwaff2) const;
2839 inline isl::pw_multi_aff add(const isl::pw_multi_aff &pma2) const;
2840 inline isl::union_pw_aff add(const isl::union_pw_aff &upa2) const;
2841 inline isl::union_pw_multi_aff add(const isl::union_pw_multi_aff &upma2) const;
2842 inline isl::pw_aff add(const isl::aff &pwaff2) const;
2843 inline isl::pw_aff add_constant(isl::val v) const;
2844 inline isl::pw_aff add_constant(long v) const;
2845 inline isl::pw_multi_aff add_constant(const isl::multi_val &mv) const;
2846 inline isl::union_pw_multi_aff apply(const isl::union_pw_multi_aff &upma2) const;
2847 inline isl::aff as_aff() const;
2848 inline isl::map as_map() const;
2849 inline isl::multi_aff as_multi_aff() const;
2850 inline isl::multi_union_pw_aff as_multi_union_pw_aff() const;
2851 inline isl::pw_multi_aff as_pw_multi_aff() const;
2852 inline isl::set as_set() const;
2853 inline isl::union_map as_union_map() const;
2854 inline isl::pw_aff at(int pos) const;
2855 inline isl::set bind(const isl::multi_id &tuple) const;
2856 inline isl::set bind(isl::id id) const;
2857 inline isl::set bind(const std::string &id) const;
2858 inline isl::pw_aff bind_domain(isl::multi_id tuple) const;
2859 inline isl::pw_aff bind_domain_wrapped_domain(isl::multi_id tuple) const;
2860 inline isl::pw_aff ceil() const;
2861 inline isl::pw_aff coalesce() const;
2862 inline isl::pw_aff cond(isl::pw_aff pwaff_true, isl::pw_aff pwaff_false) const;
2863 inline isl::pw_aff div(isl::pw_aff pa2) const;
2864 inline isl::set domain() const;
2865 inline isl::pw_aff domain_reverse() const;
2866 inline isl::pw_aff drop_unused_params() const;
2867 inline isl::set eq_set(isl::pw_aff pwaff2) const;
2868 inline isl::val eval(isl::point pnt) const;
2869 inline isl::pw_multi_aff extract_pw_multi_aff(const isl::space &space) const;
2870 inline isl::multi_pw_aff flat_range_product(const isl::multi_pw_aff &multi2) const;
2871 inline isl::multi_union_pw_aff flat_range_product(const isl::multi_union_pw_aff &multi2) const;
2872 inline isl::pw_multi_aff flat_range_product(const isl::pw_multi_aff &pma2) const;
2873 inline isl::union_pw_multi_aff flat_range_product(const isl::union_pw_multi_aff &upma2) const;
2874 inline isl::pw_aff floor() const;
2875 inline void foreach_piece(const std::function<void(isl::set, isl::multi_aff)> &fn) const;
2876 inline isl::set ge_set(isl::pw_aff pwaff2) const;
2877 inline isl::pw_aff gist(isl::set context) const;
2878 inline isl::union_pw_aff gist(const isl::union_set &context) const;
2879 inline isl::pw_aff gist(const isl::basic_set &context) const;
2880 inline isl::pw_aff gist(const isl::point &context) const;
2881 inline isl::pw_aff gist_params(isl::set context) const;
2882 inline isl::set gt_set(isl::pw_aff pwaff2) const;
2884 inline isl::multi_pw_aff identity() const;
2885 inline isl::pw_aff insert_domain(isl::space domain) const;
2886 inline isl::pw_aff intersect_domain(isl::set set) const;
2887 inline isl::union_pw_aff intersect_domain(const isl::space &space) const;
2888 inline isl::union_pw_aff intersect_domain(const isl::union_set &uset) const;
2889 inline isl::pw_aff intersect_domain(const isl::basic_set &set) const;
2890 inline isl::pw_aff intersect_domain(const isl::point &set) const;
2891 inline isl::union_pw_aff intersect_domain_wrapped_domain(const isl::union_set &uset) const;
2892 inline isl::union_pw_aff intersect_domain_wrapped_range(const isl::union_set &uset) const;
2893 inline isl::pw_aff intersect_params(isl::set set) const;
2896 inline bool involves_param(const isl::id &id) const;
2898 inline bool involves_param(const isl::id_list &list) const;
2902 inline isl::set le_set(isl::pw_aff pwaff2) const;
2903 inline isl::pw_aff_list list() const;
2904 inline isl::set lt_set(isl::pw_aff pwaff2) const;
2905 inline isl::multi_pw_aff max(const isl::multi_pw_aff &multi2) const;
2906 inline isl::pw_aff max(isl::pw_aff pwaff2) const;
2907 inline isl::pw_aff max(const isl::aff &pwaff2) const;
2908 inline isl::multi_val max_multi_val() const;
2909 inline isl::val max_val() const;
2910 inline isl::multi_pw_aff min(const isl::multi_pw_aff &multi2) const;
2911 inline isl::pw_aff min(isl::pw_aff pwaff2) const;
2912 inline isl::pw_aff min(const isl::aff &pwaff2) const;
2913 inline isl::multi_val min_multi_val() const;
2914 inline isl::val min_val() const;
2915 inline isl::pw_aff mod(isl::val mod) const;
2916 inline isl::pw_aff mod(long mod) const;
2917 inline isl::pw_aff mul(isl::pw_aff pwaff2) const;
2919 inline isl::set ne_set(isl::pw_aff pwaff2) const;
2920 inline isl::pw_aff neg() const;
2921 static inline isl::pw_aff param_on_domain(isl::set domain, isl::id id);
2922 inline isl::set params() const;
2924 inline bool plain_is_equal(const isl::multi_pw_aff &multi2) const;
2925 inline bool plain_is_equal(const isl::multi_union_pw_aff &multi2) const;
2926 inline bool plain_is_equal(const isl::pw_aff &pwaff2) const;
2927 inline bool plain_is_equal(const isl::pw_multi_aff &pma2) const;
2928 inline bool plain_is_equal(const isl::union_pw_aff &upa2) const;
2929 inline bool plain_is_equal(const isl::union_pw_multi_aff &upma2) const;
2930 inline bool plain_is_equal(const isl::aff &pwaff2) const;
2931 inline isl::pw_multi_aff preimage_domain_wrapped_domain(const isl::pw_multi_aff &pma2) const;
2932 inline isl::union_pw_multi_aff preimage_domain_wrapped_domain(const isl::union_pw_multi_aff &upma2) const;
2933 inline isl::multi_pw_aff product(const isl::multi_pw_aff &multi2) const;
2934 inline isl::pw_multi_aff product(const isl::pw_multi_aff &pma2) const;
2935 inline isl::pw_aff pullback(isl::multi_aff ma) const;
2936 inline isl::pw_aff pullback(isl::multi_pw_aff mpa) const;
2937 inline isl::pw_aff pullback(isl::pw_multi_aff pma) const;
2938 inline isl::union_pw_aff pullback(const isl::union_pw_multi_aff &upma) const;
2939 inline isl::pw_multi_aff_list pw_multi_aff_list() const;
2940 inline isl::pw_multi_aff range_factor_domain() const;
2941 inline isl::pw_multi_aff range_factor_range() const;
2942 inline isl::multi_pw_aff range_product(const isl::multi_pw_aff &multi2) const;
2943 inline isl::multi_union_pw_aff range_product(const isl::multi_union_pw_aff &multi2) const;
2944 inline isl::pw_multi_aff range_product(const isl::pw_multi_aff &pma2) const;
2945 inline isl::union_pw_multi_aff range_product(const isl::union_pw_multi_aff &upma2) const;
2946 inline isl::id range_tuple_id() const;
2947 inline isl::multi_pw_aff reset_range_tuple_id() const;
2948 inline isl::pw_aff scale(isl::val v) const;
2949 inline isl::pw_aff scale(long v) const;
2950 inline isl::pw_multi_aff scale(const isl::multi_val &mv) const;
2951 inline isl::pw_aff scale_down(isl::val f) const;
2952 inline isl::pw_aff scale_down(long f) const;
2953 inline isl::pw_multi_aff scale_down(const isl::multi_val &mv) const;
2954 inline isl::multi_pw_aff set_at(int pos, const isl::pw_aff &el) const;
2955 inline isl::multi_union_pw_aff set_at(int pos, const isl::union_pw_aff &el) const;
2956 inline isl::pw_multi_aff set_range_tuple(const isl::id &id) const;
2957 inline isl::pw_multi_aff set_range_tuple(const std::string &id) const;
2959 inline isl::space space() const;
2960 inline isl::space get_space() const;
2961 inline isl::multi_pw_aff sub(const isl::multi_pw_aff &multi2) const;
2962 inline isl::multi_union_pw_aff sub(const isl::multi_union_pw_aff &multi2) const;
2963 inline isl::pw_aff sub(isl::pw_aff pwaff2) const;
2964 inline isl::pw_multi_aff sub(const isl::pw_multi_aff &pma2) const;
2965 inline isl::union_pw_aff sub(const isl::union_pw_aff &upa2) const;
2966 inline isl::union_pw_multi_aff sub(const isl::union_pw_multi_aff &upma2) const;
2967 inline isl::pw_aff sub(const isl::aff &pwaff2) const;
2968 inline isl::pw_aff subtract_domain(isl::set set) const;
2969 inline isl::union_pw_aff subtract_domain(const isl::space &space) const;
2970 inline isl::union_pw_aff subtract_domain(const isl::union_set &uset) const;
2971 inline isl::pw_aff subtract_domain(const isl::basic_set &set) const;
2972 inline isl::pw_aff subtract_domain(const isl::point &set) const;
2973 inline isl::pw_aff tdiv_q(isl::pw_aff pa2) const;
2974 inline isl::pw_aff tdiv_r(isl::pw_aff pa2) const;
2975 inline isl::pw_aff_list to_list() const;
2976 inline isl::multi_pw_aff to_multi_pw_aff() const;
2977 inline isl::union_pw_aff to_union_pw_aff() const;
2978 inline isl::union_pw_multi_aff to_union_pw_multi_aff() const;
2979 inline isl::multi_pw_aff unbind_params_insert_domain(const isl::multi_id &domain) const;
2980 inline isl::multi_pw_aff union_add(const isl::multi_pw_aff &mpa2) const;
2981 inline isl::multi_union_pw_aff union_add(const isl::multi_union_pw_aff &mupa2) const;
2982 inline isl::pw_aff union_add(isl::pw_aff pwaff2) const;
2983 inline isl::pw_multi_aff union_add(const isl::pw_multi_aff &pma2) const;
2984 inline isl::union_pw_aff union_add(const isl::union_pw_aff &upa2) const;
2985 inline isl::union_pw_multi_aff union_add(const isl::union_pw_multi_aff &upma2) const;
2986 inline isl::pw_aff union_add(const isl::aff &pwaff2) const;
2989 // declarations for isl::pw_aff_list
3005 inline explicit pw_aff_list(isl::ctx ctx, int n);
3006 inline explicit pw_aff_list(isl::pw_aff el);
3007 inline explicit pw_aff_list(isl::ctx ctx, const std::string &str);
3015 inline isl::ctx ctx() const;
3017 inline isl::pw_aff_list add(isl::pw_aff el) const;
3018 inline isl::pw_aff at(int index) const;
3019 inline isl::pw_aff get_at(int index) const;
3020 inline isl::pw_aff_list clear() const;
3021 inline isl::pw_aff_list concat(isl::pw_aff_list list2) const;
3022 inline isl::pw_aff_list drop(unsigned int first, unsigned int n) const;
3023 inline void foreach(const std::function<void(isl::pw_aff)> &fn) const;
3024 inline void foreach_scc(const std::function<bool(isl::pw_aff, isl::pw_aff)> &follows, const std::function<void(isl::pw_aff_list)> &fn) const;
3025 inline isl::pw_aff_list insert(unsigned int pos, isl::pw_aff el) const;
3026 inline isl::pw_aff_list set_at(int index, isl::pw_aff el) const;
3030 // declarations for isl::pw_multi_aff
3046 inline /* implicit */ pw_multi_aff(isl::multi_aff ma);
3047 inline /* implicit */ pw_multi_aff(isl::pw_aff pa);
3048 inline explicit pw_multi_aff(isl::ctx ctx, const std::string &str);
3056 inline isl::ctx ctx() const;
3058 inline isl::multi_pw_aff add(const isl::multi_pw_aff &multi2) const;
3059 inline isl::multi_union_pw_aff add(const isl::multi_union_pw_aff &multi2) const;
3060 inline isl::pw_multi_aff add(isl::pw_multi_aff pma2) const;
3061 inline isl::union_pw_multi_aff add(const isl::union_pw_multi_aff &upma2) const;
3062 inline isl::pw_multi_aff add(const isl::multi_aff &pma2) const;
3063 inline isl::pw_multi_aff add(const isl::pw_aff &pma2) const;
3064 inline isl::pw_multi_aff add_constant(isl::multi_val mv) const;
3065 inline isl::pw_multi_aff add_constant(isl::val v) const;
3066 inline isl::pw_multi_aff add_constant(long v) const;
3067 inline isl::union_pw_multi_aff apply(const isl::union_pw_multi_aff &upma2) const;
3068 inline isl::map as_map() const;
3069 inline isl::multi_aff as_multi_aff() const;
3070 inline isl::multi_union_pw_aff as_multi_union_pw_aff() const;
3071 inline isl::pw_multi_aff as_pw_multi_aff() const;
3072 inline isl::set as_set() const;
3073 inline isl::union_map as_union_map() const;
3074 inline isl::pw_aff at(int pos) const;
3075 inline isl::pw_aff get_at(int pos) const;
3076 inline isl::set bind(const isl::multi_id &tuple) const;
3077 inline isl::pw_multi_aff bind_domain(isl::multi_id tuple) const;
3078 inline isl::pw_multi_aff bind_domain_wrapped_domain(isl::multi_id tuple) const;
3079 inline isl::pw_multi_aff coalesce() const;
3080 inline isl::set domain() const;
3081 static inline isl::pw_multi_aff domain_map(isl::space space);
3082 inline isl::pw_multi_aff domain_reverse() const;
3083 inline isl::pw_multi_aff drop_unused_params() const;
3084 inline isl::pw_multi_aff extract_pw_multi_aff(const isl::space &space) const;
3085 inline isl::multi_pw_aff flat_range_product(const isl::multi_pw_aff &multi2) const;
3086 inline isl::multi_union_pw_aff flat_range_product(const isl::multi_union_pw_aff &multi2) const;
3087 inline isl::pw_multi_aff flat_range_product(isl::pw_multi_aff pma2) const;
3088 inline isl::union_pw_multi_aff flat_range_product(const isl::union_pw_multi_aff &upma2) const;
3089 inline isl::pw_multi_aff flat_range_product(const isl::multi_aff &pma2) const;
3090 inline isl::pw_multi_aff flat_range_product(const isl::pw_aff &pma2) const;
3091 inline void foreach_piece(const std::function<void(isl::set, isl::multi_aff)> &fn) const;
3092 inline isl::pw_multi_aff gist(isl::set set) const;
3093 inline isl::union_pw_multi_aff gist(const isl::union_set &context) const;
3094 inline isl::pw_multi_aff gist(const isl::basic_set &set) const;
3095 inline isl::pw_multi_aff gist(const isl::point &set) const;
3096 inline isl::pw_multi_aff gist_params(isl::set set) const;
3098 inline isl::multi_pw_aff identity() const;
3099 static inline isl::pw_multi_aff identity_on_domain(isl::space space);
3100 inline isl::pw_multi_aff insert_domain(isl::space domain) const;
3101 inline isl::pw_multi_aff intersect_domain(isl::set set) const;
3102 inline isl::union_pw_multi_aff intersect_domain(const isl::space &space) const;
3103 inline isl::union_pw_multi_aff intersect_domain(const isl::union_set &uset) const;
3104 inline isl::pw_multi_aff intersect_domain(const isl::basic_set &set) const;
3105 inline isl::pw_multi_aff intersect_domain(const isl::point &set) const;
3106 inline isl::union_pw_multi_aff intersect_domain_wrapped_domain(const isl::union_set &uset) const;
3107 inline isl::union_pw_multi_aff intersect_domain_wrapped_range(const isl::union_set &uset) const;
3108 inline isl::pw_multi_aff intersect_params(isl::set set) const;
3111 inline bool involves_param(const isl::id &id) const;
3113 inline bool involves_param(const isl::id_list &list) const;
3116 inline isl::pw_aff_list list() const;
3117 inline isl::multi_pw_aff max(const isl::multi_pw_aff &multi2) const;
3118 inline isl::multi_val max_multi_val() const;
3119 inline isl::multi_pw_aff min(const isl::multi_pw_aff &multi2) const;
3120 inline isl::multi_val min_multi_val() const;
3121 static inline isl::pw_multi_aff multi_val_on_domain(isl::set domain, isl::multi_val mv);
3123 inline isl::multi_pw_aff neg() const;
3125 inline bool plain_is_equal(const isl::multi_pw_aff &multi2) const;
3126 inline bool plain_is_equal(const isl::multi_union_pw_aff &multi2) const;
3127 inline bool plain_is_equal(const isl::pw_multi_aff &pma2) const;
3128 inline bool plain_is_equal(const isl::union_pw_multi_aff &upma2) const;
3129 inline bool plain_is_equal(const isl::multi_aff &pma2) const;
3130 inline bool plain_is_equal(const isl::pw_aff &pma2) const;
3131 inline isl::pw_multi_aff preimage_domain_wrapped_domain(isl::pw_multi_aff pma2) const;
3132 inline isl::union_pw_multi_aff preimage_domain_wrapped_domain(const isl::union_pw_multi_aff &upma2) const;
3133 inline isl::pw_multi_aff preimage_domain_wrapped_domain(const isl::multi_aff &pma2) const;
3134 inline isl::pw_multi_aff preimage_domain_wrapped_domain(const isl::pw_aff &pma2) const;
3135 inline isl::multi_pw_aff product(const isl::multi_pw_aff &multi2) const;
3136 inline isl::pw_multi_aff product(isl::pw_multi_aff pma2) const;
3137 inline isl::pw_multi_aff product(const isl::multi_aff &pma2) const;
3138 inline isl::pw_multi_aff product(const isl::pw_aff &pma2) const;
3139 inline isl::multi_pw_aff pullback(const isl::multi_pw_aff &mpa2) const;
3140 inline isl::pw_multi_aff pullback(isl::multi_aff ma) const;
3141 inline isl::pw_multi_aff pullback(isl::pw_multi_aff pma2) const;
3142 inline isl::union_pw_multi_aff pullback(const isl::union_pw_multi_aff &upma2) const;
3143 inline isl::pw_multi_aff_list pw_multi_aff_list() const;
3144 inline isl::pw_multi_aff range_factor_domain() const;
3145 inline isl::pw_multi_aff range_factor_range() const;
3146 static inline isl::pw_multi_aff range_map(isl::space space);
3147 inline isl::multi_pw_aff range_product(const isl::multi_pw_aff &multi2) const;
3148 inline isl::multi_union_pw_aff range_product(const isl::multi_union_pw_aff &multi2) const;
3149 inline isl::pw_multi_aff range_product(isl::pw_multi_aff pma2) const;
3150 inline isl::union_pw_multi_aff range_product(const isl::union_pw_multi_aff &upma2) const;
3151 inline isl::pw_multi_aff range_product(const isl::multi_aff &pma2) const;
3152 inline isl::pw_multi_aff range_product(const isl::pw_aff &pma2) const;
3153 inline isl::id range_tuple_id() const;
3154 inline isl::id get_range_tuple_id() const;
3155 inline isl::multi_pw_aff reset_range_tuple_id() const;
3156 inline isl::pw_multi_aff scale(isl::multi_val mv) const;
3157 inline isl::pw_multi_aff scale(isl::val v) const;
3158 inline isl::pw_multi_aff scale(long v) const;
3159 inline isl::pw_multi_aff scale_down(isl::multi_val mv) const;
3160 inline isl::pw_multi_aff scale_down(isl::val v) const;
3161 inline isl::pw_multi_aff scale_down(long v) const;
3162 inline isl::multi_pw_aff set_at(int pos, const isl::pw_aff &el) const;
3163 inline isl::multi_union_pw_aff set_at(int pos, const isl::union_pw_aff &el) const;
3164 inline isl::pw_multi_aff set_range_tuple(isl::id id) const;
3165 inline isl::pw_multi_aff set_range_tuple(const std::string &id) const;
3167 inline isl::space space() const;
3168 inline isl::space get_space() const;
3169 inline isl::multi_pw_aff sub(const isl::multi_pw_aff &multi2) const;
3170 inline isl::multi_union_pw_aff sub(const isl::multi_union_pw_aff &multi2) const;
3171 inline isl::pw_multi_aff sub(isl::pw_multi_aff pma2) const;
3172 inline isl::union_pw_multi_aff sub(const isl::union_pw_multi_aff &upma2) const;
3173 inline isl::pw_multi_aff sub(const isl::multi_aff &pma2) const;
3174 inline isl::pw_multi_aff sub(const isl::pw_aff &pma2) const;
3175 inline isl::pw_multi_aff subtract_domain(isl::set set) const;
3176 inline isl::union_pw_multi_aff subtract_domain(const isl::space &space) const;
3177 inline isl::union_pw_multi_aff subtract_domain(const isl::union_set &uset) const;
3178 inline isl::pw_multi_aff subtract_domain(const isl::basic_set &set) const;
3179 inline isl::pw_multi_aff subtract_domain(const isl::point &set) const;
3180 inline isl::pw_multi_aff_list to_list() const;
3181 inline isl::multi_pw_aff to_multi_pw_aff() const;
3182 inline isl::union_pw_multi_aff to_union_pw_multi_aff() const;
3183 inline isl::multi_pw_aff unbind_params_insert_domain(const isl::multi_id &domain) const;
3184 inline isl::multi_pw_aff union_add(const isl::multi_pw_aff &mpa2) const;
3185 inline isl::multi_union_pw_aff union_add(const isl::multi_union_pw_aff &mupa2) const;
3186 inline isl::pw_multi_aff union_add(isl::pw_multi_aff pma2) const;
3187 inline isl::union_pw_multi_aff union_add(const isl::union_pw_multi_aff &upma2) const;
3188 inline isl::pw_multi_aff union_add(const isl::multi_aff &pma2) const;
3189 inline isl::pw_multi_aff union_add(const isl::pw_aff &pma2) const;
3190 static inline isl::pw_multi_aff zero(isl::space space);
3193 // declarations for isl::pw_multi_aff_list
3209 inline explicit pw_multi_aff_list(isl::ctx ctx, int n);
3210 inline explicit pw_multi_aff_list(isl::pw_multi_aff el);
3211 inline explicit pw_multi_aff_list(isl::ctx ctx, const std::string &str);
3219 inline isl::ctx ctx() const;
3221 inline isl::pw_multi_aff_list add(isl::pw_multi_aff el) const;
3222 inline isl::pw_multi_aff at(int index) const;
3223 inline isl::pw_multi_aff get_at(int index) const;
3224 inline isl::pw_multi_aff_list clear() const;
3225 inline isl::pw_multi_aff_list concat(isl::pw_multi_aff_list list2) const;
3226 inline isl::pw_multi_aff_list drop(unsigned int first, unsigned int n) const;
3227 inline void foreach(const std::function<void(isl::pw_multi_aff)> &fn) const;
3228 inline void foreach_scc(const std::function<bool(isl::pw_multi_aff, isl::pw_multi_aff)> &follows, const std::function<void(isl::pw_multi_aff_list)> &fn) const;
3229 inline isl::pw_multi_aff_list insert(unsigned int pos, isl::pw_multi_aff el) const;
3230 inline isl::pw_multi_aff_list set_at(int index, isl::pw_multi_aff el) const;
3234 // declarations for isl::schedule
3250 inline explicit schedule(isl::ctx ctx, const std::string &str);
3258 inline isl::ctx ctx() const;
3260 inline isl::union_set domain() const;
3261 inline isl::union_set get_domain() const;
3262 static inline isl::schedule from_domain(isl::union_set domain);
3263 inline isl::union_map map() const;
3264 inline isl::union_map get_map() const;
3265 inline isl::schedule pullback(isl::union_pw_multi_aff upma) const;
3266 inline isl::schedule_node root() const;
3267 inline isl::schedule_node get_root() const;
3270 // declarations for isl::schedule_constraints
3286 inline explicit schedule_constraints(isl::ctx ctx, const std::string &str);
3294 inline isl::ctx ctx() const;
3296 inline isl::union_map coincidence() const;
3297 inline isl::union_map get_coincidence() const;
3298 inline isl::schedule compute_schedule() const;
3299 inline isl::union_map conditional_validity() const;
3300 inline isl::union_map get_conditional_validity() const;
3301 inline isl::union_map conditional_validity_condition() const;
3302 inline isl::union_map get_conditional_validity_condition() const;
3303 inline isl::set context() const;
3304 inline isl::set get_context() const;
3305 inline isl::union_set domain() const;
3306 inline isl::union_set get_domain() const;
3307 static inline isl::schedule_constraints on_domain(isl::union_set domain);
3308 inline isl::union_map proximity() const;
3309 inline isl::union_map get_proximity() const;
3310 inline isl::schedule_constraints set_coincidence(isl::union_map coincidence) const;
3311 inline isl::schedule_constraints set_conditional_validity(isl::union_map condition, isl::union_map validity) const;
3312 inline isl::schedule_constraints set_context(isl::set context) const;
3313 inline isl::schedule_constraints set_proximity(isl::union_map proximity) const;
3314 inline isl::schedule_constraints set_validity(isl::union_map validity) const;
3315 inline isl::union_map validity() const;
3316 inline isl::union_map get_validity() const;
3319 // declarations for isl::schedule_node
3351 inline isl::ctx ctx() const;
3353 inline isl::schedule_node ancestor(int generation) const;
3354 inline unsigned ancestor_child_position(const isl::schedule_node &ancestor) const;
3355 inline unsigned get_ancestor_child_position(const isl::schedule_node &ancestor) const;
3356 inline isl::schedule_node child(int pos) const;
3359 inline bool every_descendant(const std::function<bool(isl::schedule_node)> &test) const;
3360 inline isl::schedule_node first_child() const;
3361 inline void foreach_ancestor_top_down(const std::function<void(isl::schedule_node)> &fn) const;
3362 inline void foreach_descendant_top_down(const std::function<bool(isl::schedule_node)> &fn) const;
3363 static inline isl::schedule_node from_domain(isl::union_set domain);
3364 static inline isl::schedule_node from_extension(isl::union_map extension);
3365 inline isl::schedule_node graft_after(isl::schedule_node graft) const;
3366 inline isl::schedule_node graft_before(isl::schedule_node graft) const;
3371 inline isl::schedule_node insert_context(isl::set context) const;
3372 inline isl::schedule_node insert_filter(isl::union_set filter) const;
3373 inline isl::schedule_node insert_guard(isl::set context) const;
3374 inline isl::schedule_node insert_mark(isl::id mark) const;
3375 inline isl::schedule_node insert_mark(const std::string &mark) const;
3376 inline isl::schedule_node insert_partial_schedule(isl::multi_union_pw_aff schedule) const;
3377 inline isl::schedule_node insert_sequence(isl::union_set_list filters) const;
3378 inline isl::schedule_node insert_set(isl::union_set_list filters) const;
3379 inline bool is_equal(const isl::schedule_node &node2) const;
3381 inline isl::schedule_node map_descendant_bottom_up(const std::function<isl::schedule_node(isl::schedule_node)> &fn) const;
3383 inline isl::schedule_node next_sibling() const;
3384 inline isl::schedule_node order_after(isl::union_set filter) const;
3385 inline isl::schedule_node order_before(isl::union_set filter) const;
3386 inline isl::schedule_node parent() const;
3387 inline isl::multi_union_pw_aff prefix_schedule_multi_union_pw_aff() const;
3388 inline isl::multi_union_pw_aff get_prefix_schedule_multi_union_pw_aff() const;
3389 inline isl::union_map prefix_schedule_union_map() const;
3390 inline isl::union_map get_prefix_schedule_union_map() const;
3391 inline isl::union_pw_multi_aff prefix_schedule_union_pw_multi_aff() const;
3392 inline isl::union_pw_multi_aff get_prefix_schedule_union_pw_multi_aff() const;
3393 inline isl::schedule_node previous_sibling() const;
3394 inline isl::schedule_node root() const;
3395 inline isl::schedule schedule() const;
3396 inline isl::schedule get_schedule() const;
3397 inline isl::schedule_node shared_ancestor(const isl::schedule_node &node2) const;
3398 inline isl::schedule_node get_shared_ancestor(const isl::schedule_node &node2) const;
3403 // declarations for isl::schedule_node_band
3418 inline isl::ctx ctx() const;
3420 inline isl::union_set ast_build_options() const;
3421 inline isl::union_set get_ast_build_options() const;
3422 inline isl::set ast_isolate_option() const;
3423 inline isl::set get_ast_isolate_option() const;
3426 inline schedule_node_band mod(isl::multi_val mv) const;
3428 inline isl::multi_union_pw_aff partial_schedule() const;
3429 inline isl::multi_union_pw_aff get_partial_schedule() const;
3432 inline schedule_node_band scale(isl::multi_val mv) const;
3433 inline schedule_node_band scale_down(isl::multi_val mv) const;
3434 inline schedule_node_band set_ast_build_options(isl::union_set options) const;
3436 inline schedule_node_band shift(isl::multi_union_pw_aff shift) const;
3438 inline schedule_node_band tile(isl::multi_val sizes) const;
3445 // declarations for isl::schedule_node_context
3460 inline isl::ctx ctx() const;
3462 inline isl::set context() const;
3463 inline isl::set get_context() const;
3466 // declarations for isl::schedule_node_domain
3481 inline isl::ctx ctx() const;
3483 inline isl::union_set domain() const;
3484 inline isl::union_set get_domain() const;
3487 // declarations for isl::schedule_node_expansion
3502 inline isl::ctx ctx() const;
3504 inline isl::union_pw_multi_aff contraction() const;
3505 inline isl::union_pw_multi_aff get_contraction() const;
3506 inline isl::union_map expansion() const;
3507 inline isl::union_map get_expansion() const;
3510 // declarations for isl::schedule_node_extension
3525 inline isl::ctx ctx() const;
3527 inline isl::union_map extension() const;
3528 inline isl::union_map get_extension() const;
3531 // declarations for isl::schedule_node_filter
3546 inline isl::ctx ctx() const;
3548 inline isl::union_set filter() const;
3549 inline isl::union_set get_filter() const;
3552 // declarations for isl::schedule_node_guard
3567 inline isl::ctx ctx() const;
3569 inline isl::set guard() const;
3570 inline isl::set get_guard() const;
3573 // declarations for isl::schedule_node_leaf
3588 inline isl::ctx ctx() const;
3592 // declarations for isl::schedule_node_mark
3607 inline isl::ctx ctx() const;
3611 // declarations for isl::schedule_node_sequence
3626 inline isl::ctx ctx() const;
3630 // declarations for isl::schedule_node_set
3645 inline isl::ctx ctx() const;
3649 // declarations for isl::set
3665 inline /* implicit */ set(isl::basic_set bset);
3666 inline /* implicit */ set(isl::point pnt);
3667 inline explicit set(isl::ctx ctx, const std::string &str);
3675 inline isl::ctx ctx() const;
3677 inline isl::basic_set affine_hull() const;
3678 inline isl::set apply(isl::map map) const;
3679 inline isl::union_set apply(const isl::union_map &umap) const;
3680 inline isl::set apply(const isl::basic_map &map) const;
3681 inline isl::pw_multi_aff as_pw_multi_aff() const;
3682 inline isl::set as_set() const;
3683 inline isl::set bind(isl::multi_id tuple) const;
3684 inline isl::set coalesce() const;
3685 inline isl::set complement() const;
3686 inline isl::union_set compute_divs() const;
3687 inline isl::set detect_equalities() const;
3688 inline isl::val dim_max_val(int pos) const;
3689 inline isl::val dim_min_val(int pos) const;
3690 inline isl::set drop_unused_params() const;
3691 static inline isl::set empty(isl::space space);
3692 inline bool every_set(const std::function<bool(isl::set)> &test) const;
3693 inline isl::set extract_set(const isl::space &space) const;
3694 inline isl::set flatten() const;
3695 inline void foreach_basic_set(const std::function<void(isl::basic_set)> &fn) const;
3696 inline void foreach_point(const std::function<void(isl::point)> &fn) const;
3697 inline void foreach_set(const std::function<void(isl::set)> &fn) const;
3698 inline isl::set gist(isl::set context) const;
3699 inline isl::union_set gist(const isl::union_set &context) const;
3700 inline isl::set gist(const isl::basic_set &context) const;
3701 inline isl::set gist(const isl::point &context) const;
3702 inline isl::set gist_params(isl::set context) const;
3703 inline isl::map identity() const;
3704 inline isl::pw_aff indicator_function() const;
3705 inline isl::map insert_domain(isl::space domain) const;
3706 inline isl::set intersect(isl::set set2) const;
3707 inline isl::union_set intersect(const isl::union_set &uset2) const;
3708 inline isl::set intersect(const isl::basic_set &set2) const;
3709 inline isl::set intersect(const isl::point &set2) const;
3710 inline isl::set intersect_params(isl::set params) const;
3712 inline bool is_disjoint(const isl::set &set2) const;
3713 inline bool is_disjoint(const isl::union_set &uset2) const;
3714 inline bool is_disjoint(const isl::basic_set &set2) const;
3715 inline bool is_disjoint(const isl::point &set2) const;
3717 inline bool is_equal(const isl::set &set2) const;
3718 inline bool is_equal(const isl::union_set &uset2) const;
3719 inline bool is_equal(const isl::basic_set &set2) const;
3720 inline bool is_equal(const isl::point &set2) const;
3722 inline bool is_strict_subset(const isl::set &set2) const;
3723 inline bool is_strict_subset(const isl::union_set &uset2) const;
3724 inline bool is_strict_subset(const isl::basic_set &set2) const;
3725 inline bool is_strict_subset(const isl::point &set2) const;
3726 inline bool is_subset(const isl::set &set2) const;
3727 inline bool is_subset(const isl::union_set &uset2) const;
3728 inline bool is_subset(const isl::basic_set &set2) const;
3729 inline bool is_subset(const isl::point &set2) const;
3732 inline isl::fixed_box lattice_tile() const;
3733 inline isl::fixed_box get_lattice_tile() const;
3734 inline isl::set lexmax() const;
3735 inline isl::pw_multi_aff lexmax_pw_multi_aff() const;
3736 inline isl::set lexmin() const;
3737 inline isl::pw_multi_aff lexmin_pw_multi_aff() const;
3738 inline isl::set lower_bound(isl::multi_pw_aff lower) const;
3739 inline isl::set lower_bound(isl::multi_val lower) const;
3740 inline isl::multi_pw_aff max_multi_pw_aff() const;
3741 inline isl::val max_val(const isl::aff &obj) const;
3742 inline isl::multi_pw_aff min_multi_pw_aff() const;
3743 inline isl::val min_val(const isl::aff &obj) const;
3745 inline isl::pw_aff param_pw_aff_on_domain(isl::id id) const;
3746 inline isl::pw_aff param_pw_aff_on_domain(const std::string &id) const;
3747 inline isl::set params() const;
3748 inline isl::multi_val plain_multi_val_if_fixed() const;
3749 inline isl::multi_val get_plain_multi_val_if_fixed() const;
3750 inline isl::basic_set polyhedral_hull() const;
3751 inline isl::set preimage(isl::multi_aff ma) const;
3752 inline isl::set preimage(isl::multi_pw_aff mpa) const;
3753 inline isl::set preimage(isl::pw_multi_aff pma) const;
3754 inline isl::union_set preimage(const isl::union_pw_multi_aff &upma) const;
3755 inline isl::set product(isl::set set2) const;
3756 inline isl::set project_out_all_params() const;
3757 inline isl::set project_out_param(isl::id id) const;
3758 inline isl::set project_out_param(const std::string &id) const;
3759 inline isl::set project_out_param(isl::id_list list) const;
3760 inline isl::pw_aff pw_aff_on_domain(isl::val v) const;
3761 inline isl::pw_aff pw_aff_on_domain(long v) const;
3762 inline isl::pw_multi_aff pw_multi_aff_on_domain(isl::multi_val mv) const;
3763 inline isl::basic_set sample() const;
3764 inline isl::point sample_point() const;
3765 inline isl::set_list set_list() const;
3766 inline isl::fixed_box simple_fixed_box_hull() const;
3767 inline isl::fixed_box get_simple_fixed_box_hull() const;
3768 inline isl::space space() const;
3769 inline isl::space get_space() const;
3770 inline isl::val stride(int pos) const;
3771 inline isl::val get_stride(int pos) const;
3772 inline isl::set subtract(isl::set set2) const;
3773 inline isl::union_set subtract(const isl::union_set &uset2) const;
3774 inline isl::set subtract(const isl::basic_set &set2) const;
3775 inline isl::set subtract(const isl::point &set2) const;
3776 inline isl::set_list to_list() const;
3777 inline isl::union_set to_union_set() const;
3778 inline isl::map translation() const;
3780 inline isl::set unbind_params(isl::multi_id tuple) const;
3781 inline isl::map unbind_params_insert_domain(isl::multi_id domain) const;
3782 inline isl::set unite(isl::set set2) const;
3783 inline isl::union_set unite(const isl::union_set &uset2) const;
3784 inline isl::set unite(const isl::basic_set &set2) const;
3785 inline isl::set unite(const isl::point &set2) const;
3786 static inline isl::set universe(isl::space space);
3787 inline isl::basic_set unshifted_simple_hull() const;
3788 inline isl::map unwrap() const;
3789 inline isl::set upper_bound(isl::multi_pw_aff upper) const;
3790 inline isl::set upper_bound(isl::multi_val upper) const;
3791 inline isl::set wrapped_reverse() const;
3794 // declarations for isl::set_list
3810 inline explicit set_list(isl::ctx ctx, int n);
3811 inline explicit set_list(isl::set el);
3812 inline explicit set_list(isl::ctx ctx, const std::string &str);
3820 inline isl::ctx ctx() const;
3822 inline isl::set_list add(isl::set el) const;
3823 inline isl::set at(int index) const;
3824 inline isl::set get_at(int index) const;
3825 inline isl::set_list clear() const;
3826 inline isl::set_list concat(isl::set_list list2) const;
3827 inline isl::set_list drop(unsigned int first, unsigned int n) const;
3828 inline void foreach(const std::function<void(isl::set)> &fn) const;
3829 inline void foreach_scc(const std::function<bool(isl::set, isl::set)> &follows, const std::function<void(isl::set_list)> &fn) const;
3830 inline isl::set_list insert(unsigned int pos, isl::set el) const;
3831 inline isl::set_list set_at(int index, isl::set el) const;
3835 // declarations for isl::space
3851 inline explicit space(isl::ctx ctx, const std::string &str);
3859 inline isl::ctx ctx() const;
3861 inline isl::space add_named_tuple(isl::id tuple_id, unsigned int dim) const;
3862 inline isl::space add_named_tuple(const std::string &tuple_id, unsigned int dim) const;
3863 inline isl::space add_param(isl::id id) const;
3864 inline isl::space add_param(const std::string &id) const;
3865 inline isl::space add_unnamed_tuple(unsigned int dim) const;
3866 inline isl::space curry() const;
3867 inline isl::space domain() const;
3868 inline isl::multi_aff domain_map_multi_aff() const;
3869 inline isl::pw_multi_aff domain_map_pw_multi_aff() const;
3870 inline isl::space domain_reverse() const;
3871 inline isl::id domain_tuple_id() const;
3872 inline isl::id get_domain_tuple_id() const;
3873 inline isl::space drop_all_params() const;
3874 inline isl::space flatten_domain() const;
3875 inline isl::space flatten_range() const;
3878 inline isl::multi_aff identity_multi_aff_on_domain() const;
3879 inline isl::multi_pw_aff identity_multi_pw_aff_on_domain() const;
3880 inline isl::pw_multi_aff identity_pw_multi_aff_on_domain() const;
3881 inline bool is_equal(const isl::space &space2) const;
3883 inline isl::space map_from_set() const;
3884 inline isl::multi_aff multi_aff(isl::aff_list list) const;
3885 inline isl::multi_aff multi_aff_on_domain(isl::multi_val mv) const;
3886 inline isl::multi_id multi_id(isl::id_list list) const;
3887 inline isl::multi_pw_aff multi_pw_aff(isl::pw_aff_list list) const;
3888 inline isl::multi_union_pw_aff multi_union_pw_aff(isl::union_pw_aff_list list) const;
3889 inline isl::multi_val multi_val(isl::val_list list) const;
3890 inline isl::aff param_aff_on_domain(isl::id id) const;
3891 inline isl::aff param_aff_on_domain(const std::string &id) const;
3892 inline isl::space params() const;
3893 inline isl::space product(isl::space right) const;
3894 inline isl::space range() const;
3895 inline isl::multi_aff range_map_multi_aff() const;
3896 inline isl::pw_multi_aff range_map_pw_multi_aff() const;
3897 inline isl::space range_reverse() const;
3898 inline isl::id range_tuple_id() const;
3899 inline isl::id get_range_tuple_id() const;
3900 inline isl::space reverse() const;
3901 inline isl::space set_domain_tuple(isl::id id) const;
3902 inline isl::space set_domain_tuple(const std::string &id) const;
3903 inline isl::space set_range_tuple(isl::id id) const;
3904 inline isl::space set_range_tuple(const std::string &id) const;
3905 inline isl::space uncurry() const;
3906 static inline isl::space unit(isl::ctx ctx);
3907 inline isl::map universe_map() const;
3908 inline isl::set universe_set() const;
3909 inline isl::space unwrap() const;
3910 inline isl::space wrap() const;
3911 inline isl::space wrapped_reverse() const;
3912 inline isl::aff zero_aff_on_domain() const;
3913 inline isl::multi_aff zero_multi_aff() const;
3914 inline isl::multi_pw_aff zero_multi_pw_aff() const;
3915 inline isl::multi_union_pw_aff zero_multi_union_pw_aff() const;
3916 inline isl::multi_val zero_multi_val() const;
3919 // declarations for isl::union_access_info
3935 inline explicit union_access_info(isl::union_map sink);
3943 inline isl::ctx ctx() const;
3945 inline isl::union_flow compute_flow() const;
3946 inline isl::union_access_info set_kill(isl::union_map kill) const;
3947 inline isl::union_access_info set_may_source(isl::union_map may_source) const;
3948 inline isl::union_access_info set_must_source(isl::union_map must_source) const;
3949 inline isl::union_access_info set_schedule(isl::schedule schedule) const;
3950 inline isl::union_access_info set_schedule_map(isl::union_map schedule_map) const;
3953 // declarations for isl::union_flow
3976 inline isl::ctx ctx() const;
3978 inline isl::union_map full_may_dependence() const;
3979 inline isl::union_map get_full_may_dependence() const;
3980 inline isl::union_map full_must_dependence() const;
3981 inline isl::union_map get_full_must_dependence() const;
3982 inline isl::union_map may_dependence() const;
3983 inline isl::union_map get_may_dependence() const;
3984 inline isl::union_map may_no_source() const;
3985 inline isl::union_map get_may_no_source() const;
3986 inline isl::union_map must_dependence() const;
3987 inline isl::union_map get_must_dependence() const;
3988 inline isl::union_map must_no_source() const;
3989 inline isl::union_map get_must_no_source() const;
3992 // declarations for isl::union_map
4008 inline /* implicit */ union_map(isl::basic_map bmap);
4009 inline /* implicit */ union_map(isl::map map);
4010 inline explicit union_map(isl::ctx ctx, const std::string &str);
4018 inline isl::ctx ctx() const;
4020 inline isl::union_map affine_hull() const;
4021 inline isl::union_map apply_domain(isl::union_map umap2) const;
4022 inline isl::union_map apply_range(isl::union_map umap2) const;
4023 inline isl::map as_map() const;
4024 inline isl::multi_union_pw_aff as_multi_union_pw_aff() const;
4025 inline isl::union_pw_multi_aff as_union_pw_multi_aff() const;
4026 inline isl::union_set bind_range(isl::multi_id tuple) const;
4027 inline isl::union_map coalesce() const;
4028 inline isl::union_map compute_divs() const;
4029 inline isl::union_map curry() const;
4030 inline isl::union_set deltas() const;
4031 inline isl::union_map detect_equalities() const;
4032 inline isl::union_set domain() const;
4033 inline isl::union_map domain_factor_domain() const;
4034 inline isl::union_map domain_factor_range() const;
4035 inline isl::union_map domain_map() const;
4036 inline isl::union_pw_multi_aff domain_map_union_pw_multi_aff() const;
4037 inline isl::union_map domain_product(isl::union_map umap2) const;
4038 inline isl::union_map domain_reverse() const;
4039 inline isl::union_map drop_unused_params() const;
4040 static inline isl::union_map empty(isl::ctx ctx);
4041 inline isl::union_map eq_at(isl::multi_union_pw_aff mupa) const;
4042 inline bool every_map(const std::function<bool(isl::map)> &test) const;
4043 inline isl::map extract_map(isl::space space) const;
4044 inline isl::union_map factor_domain() const;
4045 inline isl::union_map factor_range() const;
4046 inline isl::union_map fixed_power(isl::val exp) const;
4047 inline isl::union_map fixed_power(long exp) const;
4048 inline void foreach_map(const std::function<void(isl::map)> &fn) const;
4049 static inline isl::union_map from(isl::multi_union_pw_aff mupa);
4050 static inline isl::union_map from(isl::union_pw_multi_aff upma);
4051 static inline isl::union_map from_domain(isl::union_set uset);
4052 static inline isl::union_map from_domain_and_range(isl::union_set domain, isl::union_set range);
4053 static inline isl::union_map from_range(isl::union_set uset);
4054 inline isl::union_map gist(isl::union_map context) const;
4055 inline isl::union_map gist_domain(isl::union_set uset) const;
4056 inline isl::union_map gist_params(isl::set set) const;
4057 inline isl::union_map gist_range(isl::union_set uset) const;
4058 inline isl::union_map intersect(isl::union_map umap2) const;
4059 inline isl::union_map intersect_domain(isl::space space) const;
4060 inline isl::union_map intersect_domain(isl::union_set uset) const;
4061 inline isl::union_map intersect_domain_factor_domain(isl::union_map factor) const;
4062 inline isl::union_map intersect_domain_factor_range(isl::union_map factor) const;
4063 inline isl::union_map intersect_domain_wrapped_domain(isl::union_set domain) const;
4064 inline isl::union_map intersect_params(isl::set set) const;
4065 inline isl::union_map intersect_range(isl::space space) const;
4066 inline isl::union_map intersect_range(isl::union_set uset) const;
4067 inline isl::union_map intersect_range_factor_domain(isl::union_map factor) const;
4068 inline isl::union_map intersect_range_factor_range(isl::union_map factor) const;
4069 inline isl::union_map intersect_range_wrapped_domain(isl::union_set domain) const;
4071 inline bool is_disjoint(const isl::union_map &umap2) const;
4073 inline bool is_equal(const isl::union_map &umap2) const;
4076 inline bool is_strict_subset(const isl::union_map &umap2) const;
4077 inline bool is_subset(const isl::union_map &umap2) const;
4079 inline isl::union_map lexmax() const;
4080 inline isl::union_map lexmin() const;
4081 inline isl::map_list map_list() const;
4082 inline isl::map_list get_map_list() const;
4083 inline isl::set params() const;
4084 inline isl::union_map polyhedral_hull() const;
4085 inline isl::union_map preimage_domain(isl::multi_aff ma) const;
4086 inline isl::union_map preimage_domain(isl::multi_pw_aff mpa) const;
4087 inline isl::union_map preimage_domain(isl::pw_multi_aff pma) const;
4088 inline isl::union_map preimage_domain(isl::union_pw_multi_aff upma) const;
4089 inline isl::union_map preimage_range(isl::multi_aff ma) const;
4090 inline isl::union_map preimage_range(isl::pw_multi_aff pma) const;
4091 inline isl::union_map preimage_range(isl::union_pw_multi_aff upma) const;
4092 inline isl::union_map product(isl::union_map umap2) const;
4093 inline isl::union_map project_out_all_params() const;
4094 inline isl::union_map project_out_param(isl::id id) const;
4095 inline isl::union_map project_out_param(const std::string &id) const;
4096 inline isl::union_map project_out_param(isl::id_list list) const;
4097 inline isl::union_set range() const;
4098 inline isl::union_map range_factor_domain() const;
4099 inline isl::union_map range_factor_range() const;
4100 inline isl::union_map range_map() const;
4101 inline isl::union_map range_product(isl::union_map umap2) const;
4102 inline isl::union_map range_reverse() const;
4103 inline isl::union_map reverse() const;
4104 inline isl::space space() const;
4105 inline isl::space get_space() const;
4106 inline isl::union_map subtract(isl::union_map umap2) const;
4107 inline isl::union_map subtract_domain(isl::union_set dom) const;
4108 inline isl::union_map subtract_range(isl::union_set dom) const;
4109 inline isl::union_map uncurry() const;
4110 inline isl::union_map unite(isl::union_map umap2) const;
4111 inline isl::union_map universe() const;
4112 inline isl::union_set wrap() const;
4113 inline isl::union_map zip() const;
4116 // declarations for isl::union_pw_aff
4132 inline /* implicit */ union_pw_aff(isl::aff aff);
4133 inline /* implicit */ union_pw_aff(isl::pw_aff pa);
4134 inline explicit union_pw_aff(isl::ctx ctx, const std::string &str);
4142 inline isl::ctx ctx() const;
4144 inline isl::multi_union_pw_aff add(const isl::multi_union_pw_aff &multi2) const;
4145 inline isl::union_pw_aff add(isl::union_pw_aff upa2) const;
4146 inline isl::union_pw_multi_aff add(const isl::union_pw_multi_aff &upma2) const;
4147 inline isl::union_pw_aff add(const isl::aff &upa2) const;
4148 inline isl::union_pw_aff add(const isl::pw_aff &upa2) const;
4149 inline isl::union_pw_multi_aff apply(const isl::union_pw_multi_aff &upma2) const;
4150 inline isl::multi_union_pw_aff as_multi_union_pw_aff() const;
4151 inline isl::pw_multi_aff as_pw_multi_aff() const;
4152 inline isl::union_map as_union_map() const;
4153 inline isl::union_pw_aff at(int pos) const;
4154 inline isl::union_set bind(const isl::multi_id &tuple) const;
4155 inline isl::union_set bind(isl::id id) const;
4156 inline isl::union_set bind(const std::string &id) const;
4157 inline isl::union_pw_aff coalesce() const;
4158 inline isl::union_set domain() const;
4159 inline isl::union_pw_aff drop_unused_params() const;
4160 inline isl::pw_multi_aff extract_pw_multi_aff(const isl::space &space) const;
4161 inline isl::multi_union_pw_aff flat_range_product(const isl::multi_union_pw_aff &multi2) const;
4162 inline isl::union_pw_multi_aff flat_range_product(const isl::union_pw_multi_aff &upma2) const;
4163 inline isl::union_pw_aff gist(isl::union_set context) const;
4164 inline isl::multi_union_pw_aff gist_params(const isl::set &context) const;
4166 inline isl::union_pw_aff intersect_domain(isl::space space) const;
4167 inline isl::union_pw_aff intersect_domain(isl::union_set uset) const;
4168 inline isl::union_pw_aff intersect_domain_wrapped_domain(isl::union_set uset) const;
4169 inline isl::union_pw_aff intersect_domain_wrapped_range(isl::union_set uset) const;
4170 inline isl::union_pw_aff intersect_params(isl::set set) const;
4174 inline isl::union_pw_aff_list list() const;
4175 inline isl::multi_union_pw_aff neg() const;
4177 inline bool plain_is_equal(const isl::multi_union_pw_aff &multi2) const;
4178 inline bool plain_is_equal(const isl::union_pw_aff &upa2) const;
4179 inline bool plain_is_equal(const isl::union_pw_multi_aff &upma2) const;
4180 inline bool plain_is_equal(const isl::aff &upa2) const;
4181 inline bool plain_is_equal(const isl::pw_aff &upa2) const;
4182 inline isl::union_pw_multi_aff preimage_domain_wrapped_domain(const isl::union_pw_multi_aff &upma2) const;
4183 inline isl::union_pw_aff pullback(isl::union_pw_multi_aff upma) const;
4184 inline isl::pw_multi_aff_list pw_multi_aff_list() const;
4185 inline isl::union_pw_multi_aff range_factor_domain() const;
4186 inline isl::union_pw_multi_aff range_factor_range() const;
4187 inline isl::multi_union_pw_aff range_product(const isl::multi_union_pw_aff &multi2) const;
4188 inline isl::union_pw_multi_aff range_product(const isl::union_pw_multi_aff &upma2) const;
4189 inline isl::id range_tuple_id() const;
4190 inline isl::multi_union_pw_aff reset_range_tuple_id() const;
4191 inline isl::multi_union_pw_aff scale(const isl::multi_val &mv) const;
4192 inline isl::multi_union_pw_aff scale(const isl::val &v) const;
4193 inline isl::multi_union_pw_aff scale(long v) const;
4194 inline isl::multi_union_pw_aff scale_down(const isl::multi_val &mv) const;
4195 inline isl::multi_union_pw_aff scale_down(const isl::val &v) const;
4196 inline isl::multi_union_pw_aff scale_down(long v) const;
4197 inline isl::multi_union_pw_aff set_at(int pos, const isl::union_pw_aff &el) const;
4198 inline isl::multi_union_pw_aff set_range_tuple(const isl::id &id) const;
4199 inline isl::multi_union_pw_aff set_range_tuple(const std::string &id) const;
4201 inline isl::space space() const;
4202 inline isl::space get_space() const;
4203 inline isl::multi_union_pw_aff sub(const isl::multi_union_pw_aff &multi2) const;
4204 inline isl::union_pw_aff sub(isl::union_pw_aff upa2) const;
4205 inline isl::union_pw_multi_aff sub(const isl::union_pw_multi_aff &upma2) const;
4206 inline isl::union_pw_aff sub(const isl::aff &upa2) const;
4207 inline isl::union_pw_aff sub(const isl::pw_aff &upa2) const;
4208 inline isl::union_pw_aff subtract_domain(isl::space space) const;
4209 inline isl::union_pw_aff subtract_domain(isl::union_set uset) const;
4210 inline isl::union_pw_aff_list to_list() const;
4211 inline isl::multi_union_pw_aff union_add(const isl::multi_union_pw_aff &mupa2) const;
4212 inline isl::union_pw_aff union_add(isl::union_pw_aff upa2) const;
4213 inline isl::union_pw_multi_aff union_add(const isl::union_pw_multi_aff &upma2) const;
4214 inline isl::union_pw_aff union_add(const isl::aff &upa2) const;
4215 inline isl::union_pw_aff union_add(const isl::pw_aff &upa2) const;
4218 // declarations for isl::union_pw_aff_list
4234 inline explicit union_pw_aff_list(isl::ctx ctx, int n);
4235 inline explicit union_pw_aff_list(isl::union_pw_aff el);
4236 inline explicit union_pw_aff_list(isl::ctx ctx, const std::string &str);
4244 inline isl::ctx ctx() const;
4246 inline isl::union_pw_aff_list add(isl::union_pw_aff el) const;
4247 inline isl::union_pw_aff at(int index) const;
4248 inline isl::union_pw_aff get_at(int index) const;
4249 inline isl::union_pw_aff_list clear() const;
4250 inline isl::union_pw_aff_list concat(isl::union_pw_aff_list list2) const;
4251 inline isl::union_pw_aff_list drop(unsigned int first, unsigned int n) const;
4252 inline void foreach(const std::function<void(isl::union_pw_aff)> &fn) const;
4253 inline void foreach_scc(const std::function<bool(isl::union_pw_aff, isl::union_pw_aff)> &follows, const std::function<void(isl::union_pw_aff_list)> &fn) const;
4254 inline isl::union_pw_aff_list insert(unsigned int pos, isl::union_pw_aff el) const;
4255 inline isl::union_pw_aff_list set_at(int index, isl::union_pw_aff el) const;
4259 // declarations for isl::union_pw_multi_aff
4275 inline /* implicit */ union_pw_multi_aff(isl::multi_aff ma);
4276 inline /* implicit */ union_pw_multi_aff(isl::pw_multi_aff pma);
4277 inline /* implicit */ union_pw_multi_aff(isl::union_pw_aff upa);
4278 inline explicit union_pw_multi_aff(isl::ctx ctx, const std::string &str);
4286 inline isl::ctx ctx() const;
4288 inline isl::union_pw_multi_aff add(isl::union_pw_multi_aff upma2) const;
4289 inline isl::union_pw_multi_aff apply(isl::union_pw_multi_aff upma2) const;
4290 inline isl::multi_union_pw_aff as_multi_union_pw_aff() const;
4291 inline isl::pw_multi_aff as_pw_multi_aff() const;
4292 inline isl::union_map as_union_map() const;
4293 inline isl::union_pw_multi_aff coalesce() const;
4294 inline isl::union_set domain() const;
4295 inline isl::union_pw_multi_aff drop_unused_params() const;
4296 static inline isl::union_pw_multi_aff empty(isl::ctx ctx);
4297 inline isl::pw_multi_aff extract_pw_multi_aff(isl::space space) const;
4298 inline isl::union_pw_multi_aff flat_range_product(isl::union_pw_multi_aff upma2) const;
4299 inline isl::union_pw_multi_aff gist(isl::union_set context) const;
4300 inline isl::union_pw_multi_aff intersect_domain(isl::space space) const;
4301 inline isl::union_pw_multi_aff intersect_domain(isl::union_set uset) const;
4302 inline isl::union_pw_multi_aff intersect_domain_wrapped_domain(isl::union_set uset) const;
4303 inline isl::union_pw_multi_aff intersect_domain_wrapped_range(isl::union_set uset) const;
4304 inline isl::union_pw_multi_aff intersect_params(isl::set set) const;
4308 inline bool plain_is_equal(const isl::union_pw_multi_aff &upma2) const;
4309 inline isl::union_pw_multi_aff preimage_domain_wrapped_domain(isl::union_pw_multi_aff upma2) const;
4310 inline isl::union_pw_multi_aff pullback(isl::union_pw_multi_aff upma2) const;
4311 inline isl::pw_multi_aff_list pw_multi_aff_list() const;
4312 inline isl::pw_multi_aff_list get_pw_multi_aff_list() const;
4313 inline isl::union_pw_multi_aff range_factor_domain() const;
4314 inline isl::union_pw_multi_aff range_factor_range() const;
4315 inline isl::union_pw_multi_aff range_product(isl::union_pw_multi_aff upma2) const;
4316 inline isl::space space() const;
4317 inline isl::space get_space() const;
4318 inline isl::union_pw_multi_aff sub(isl::union_pw_multi_aff upma2) const;
4319 inline isl::union_pw_multi_aff subtract_domain(isl::space space) const;
4320 inline isl::union_pw_multi_aff subtract_domain(isl::union_set uset) const;
4321 inline isl::union_pw_multi_aff union_add(isl::union_pw_multi_aff upma2) const;
4324 // declarations for isl::union_set
4340 inline /* implicit */ union_set(isl::basic_set bset);
4341 inline /* implicit */ union_set(isl::point pnt);
4342 inline /* implicit */ union_set(isl::set set);
4343 inline explicit union_set(isl::ctx ctx, const std::string &str);
4351 inline isl::ctx ctx() const;
4353 inline isl::union_set affine_hull() const;
4354 inline isl::union_set apply(isl::union_map umap) const;
4355 inline isl::set as_set() const;
4356 inline isl::union_set coalesce() const;
4357 inline isl::union_set compute_divs() const;
4358 inline isl::union_set detect_equalities() const;
4359 inline isl::union_set drop_unused_params() const;
4360 static inline isl::union_set empty(isl::ctx ctx);
4361 inline bool every_set(const std::function<bool(isl::set)> &test) const;
4362 inline isl::set extract_set(isl::space space) const;
4363 inline void foreach_point(const std::function<void(isl::point)> &fn) const;
4364 inline void foreach_set(const std::function<void(isl::set)> &fn) const;
4365 inline isl::union_set gist(isl::union_set context) const;
4366 inline isl::union_set gist_params(isl::set set) const;
4367 inline isl::union_map identity() const;
4368 inline isl::union_set intersect(isl::union_set uset2) const;
4369 inline isl::union_set intersect_params(isl::set set) const;
4370 inline bool is_disjoint(const isl::union_set &uset2) const;
4372 inline bool is_equal(const isl::union_set &uset2) const;
4373 inline bool is_strict_subset(const isl::union_set &uset2) const;
4374 inline bool is_subset(const isl::union_set &uset2) const;
4376 inline isl::union_set lexmax() const;
4377 inline isl::union_set lexmin() const;
4378 inline isl::set params() const;
4379 inline isl::union_set polyhedral_hull() const;
4380 inline isl::union_set preimage(isl::multi_aff ma) const;
4381 inline isl::union_set preimage(isl::pw_multi_aff pma) const;
4382 inline isl::union_set preimage(isl::union_pw_multi_aff upma) const;
4383 inline isl::union_set project_out_all_params() const;
4384 inline isl::point sample_point() const;
4385 inline isl::set_list set_list() const;
4386 inline isl::set_list get_set_list() const;
4387 inline isl::space space() const;
4388 inline isl::space get_space() const;
4389 inline isl::union_set subtract(isl::union_set uset2) const;
4390 inline isl::union_set_list to_list() const;
4391 inline isl::union_set unite(isl::union_set uset2) const;
4392 inline isl::union_set universe() const;
4393 inline isl::union_map unwrap() const;
4396 // declarations for isl::union_set_list
4412 inline explicit union_set_list(isl::ctx ctx, int n);
4413 inline explicit union_set_list(isl::union_set el);
4414 inline explicit union_set_list(isl::ctx ctx, const std::string &str);
4422 inline isl::ctx ctx() const;
4424 inline isl::union_set_list add(isl::union_set el) const;
4425 inline isl::union_set at(int index) const;
4426 inline isl::union_set get_at(int index) const;
4427 inline isl::union_set_list clear() const;
4428 inline isl::union_set_list concat(isl::union_set_list list2) const;
4429 inline isl::union_set_list drop(unsigned int first, unsigned int n) const;
4430 inline void foreach(const std::function<void(isl::union_set)> &fn) const;
4431 inline void foreach_scc(const std::function<bool(isl::union_set, isl::union_set)> &follows, const std::function<void(isl::union_set_list)> &fn) const;
4432 inline isl::union_set_list insert(unsigned int pos, isl::union_set el) const;
4433 inline isl::union_set_list set_at(int index, isl::union_set el) const;
4437 // declarations for isl::val
4453 inline explicit val(isl::ctx ctx, long i);
4454 inline explicit val(isl::ctx ctx, const std::string &str);
4462 inline isl::ctx ctx() const;
4464 inline isl::val abs() const;
4465 inline bool abs_eq(const isl::val &v2) const;
4467 inline isl::val add(isl::val v2) const;
4468 inline isl::val add(long v2) const;
4469 inline isl::val ceil() const;
4473 inline isl::val div(isl::val v2) const;
4474 inline isl::val div(long v2) const;
4475 inline bool eq(const isl::val &v2) const;
4477 inline isl::val floor() const;
4478 inline isl::val gcd(isl::val v2) const;
4479 inline isl::val gcd(long v2) const;
4480 inline bool ge(const isl::val &v2) const;
4482 inline bool gt(const isl::val &v2) const;
4484 static inline isl::val infty(isl::ctx ctx);
4485 inline isl::val inv() const;
4486 inline bool is_divisible_by(const isl::val &v2) const;
4500 inline bool le(const isl::val &v2) const;
4502 inline bool lt(const isl::val &v2) const;
4504 inline isl::val max(isl::val v2) const;
4505 inline isl::val max(long v2) const;
4506 inline isl::val min(isl::val v2) const;
4507 inline isl::val min(long v2) const;
4508 inline isl::val mod(isl::val v2) const;
4509 inline isl::val mod(long v2) const;
4510 inline isl::val mul(isl::val v2) const;
4511 inline isl::val mul(long v2) const;
4512 static inline isl::val nan(isl::ctx ctx);
4513 inline bool ne(const isl::val &v2) const;
4515 inline isl::val neg() const;
4516 static inline isl::val neginfty(isl::ctx ctx);
4517 static inline isl::val negone(isl::ctx ctx);
4520 static inline isl::val one(isl::ctx ctx);
4521 inline isl::val pow2() const;
4523 inline isl::val sub(isl::val v2) const;
4524 inline isl::val sub(long v2) const;
4525 inline isl::val_list to_list() const;
4526 inline isl::val trunc() const;
4527 static inline isl::val zero(isl::ctx ctx);
4530 // declarations for isl::val_list
4546 inline explicit val_list(isl::ctx ctx, int n);
4547 inline explicit val_list(isl::val el);
4548 inline explicit val_list(isl::ctx ctx, const std::string &str);
4556 inline isl::ctx ctx() const;
4558 inline isl::val_list add(isl::val el) const;
4559 inline isl::val_list add(long el) const;
4560 inline isl::val at(int index) const;
4561 inline isl::val get_at(int index) const;
4562 inline isl::val_list clear() const;
4563 inline isl::val_list concat(isl::val_list list2) const;
4564 inline isl::val_list drop(unsigned int first, unsigned int n) const;
4565 inline void foreach(const std::function<void(isl::val)> &fn) const;
4566 inline void foreach_scc(const std::function<bool(isl::val, isl::val)> &follows, const std::function<void(isl::val_list)> &fn) const;
4567 inline isl::val_list insert(unsigned int pos, isl::val el) const;
4568 inline isl::val_list insert(unsigned int pos, long el) const;
4569 inline isl::val_list set_at(int index, isl::val el) const;
4570 inline isl::val_list set_at(int index, long el) const;
4574 // implementations for isl::aff
4609 aff::aff(isl::ctx ctx, const std::string &str)
4647 isl::ctx aff::ctx() const {
4648 return isl::ctx(isl_aff_get_ctx(ptr));
4651 isl::aff aff::add(isl::aff aff2) const
4663 isl::multi_aff aff::add(const isl::multi_aff &multi2) const
4667 return isl::multi_aff(*this).add(multi2);
4670 isl::multi_pw_aff aff::add(const isl::multi_pw_aff &multi2) const
4674 return isl::pw_aff(*this).add(multi2);
4677 isl::multi_union_pw_aff aff::add(const isl::multi_union_pw_aff &multi2) const
4681 return isl::pw_aff(*this).add(multi2);
4684 isl::pw_aff aff::add(const isl::pw_aff &pwaff2) const
4688 return isl::pw_aff(*this).add(pwaff2);
4691 isl::pw_multi_aff aff::add(const isl::pw_multi_aff &pma2) const
4695 return isl::pw_aff(*this).add(pma2);
4698 isl::union_pw_aff aff::add(const isl::union_pw_aff &upa2) const
4702 return isl::pw_aff(*this).add(upa2);
4705 isl::union_pw_multi_aff aff::add(const isl::union_pw_multi_aff &upma2) const
4709 return isl::pw_aff(*this).add(upma2);
4712 isl::aff aff::add_constant(isl::val v) const
4724 isl::aff aff::add_constant(long v) const
4728 return this->add_constant(isl::val(ctx(), v));
4731 isl::multi_aff aff::add_constant(const isl::multi_val &mv) const
4735 return isl::multi_aff(*this).add_constant(mv);
4738 isl::union_pw_multi_aff aff::apply(const isl::union_pw_multi_aff &upma2) const
4742 return isl::pw_aff(*this).apply(upma2);
4745 isl::aff aff::as_aff() const
4749 return isl::pw_aff(*this).as_aff();
4752 isl::map aff::as_map() const
4756 return isl::pw_aff(*this).as_map();
4759 isl::multi_aff aff::as_multi_aff() const
4763 return isl::pw_aff(*this).as_multi_aff();
4766 isl::multi_union_pw_aff aff::as_multi_union_pw_aff() const
4770 return isl::pw_aff(*this).as_multi_union_pw_aff();
4773 isl::pw_multi_aff aff::as_pw_multi_aff() const
4777 return isl::pw_aff(*this).as_pw_multi_aff();
4780 isl::set aff::as_set() const
4784 return isl::multi_aff(*this).as_set();
4787 isl::union_map aff::as_union_map() const
4791 return isl::pw_aff(*this).as_union_map();
4794 isl::aff aff::at(int pos) const
4798 return isl::multi_aff(*this).at(pos);
4801 isl::basic_set aff::bind(isl::id id) const
4813 isl::basic_set aff::bind(const std::string &id) const
4817 return this->bind(isl::id(ctx(), id));
4820 isl::basic_set aff::bind(const isl::multi_id &tuple) const
4824 return isl::multi_aff(*this).bind(tuple);
4827 isl::pw_aff aff::bind_domain(const isl::multi_id &tuple) const
4831 return isl::pw_aff(*this).bind_domain(tuple);
4834 isl::pw_aff aff::bind_domain_wrapped_domain(const isl::multi_id &tuple) const
4838 return isl::pw_aff(*this).bind_domain_wrapped_domain(tuple);
4841 isl::aff aff::ceil() const
4853 isl::pw_aff aff::coalesce() const
4857 return isl::pw_aff(*this).coalesce();
4860 isl::pw_aff aff::cond(const isl::pw_aff &pwaff_true, const isl::pw_aff &pwaff_false) const
4864 return isl::pw_aff(*this).cond(pwaff_true, pwaff_false);
4867 isl::multi_val aff::constant_multi_val() const
4871 return isl::multi_aff(*this).constant_multi_val();
4874 isl::val aff::constant_val() const
4886 isl::val aff::get_constant_val() const
4891 isl::aff aff::div(isl::aff aff2) const
4903 isl::pw_aff aff::div(const isl::pw_aff &pa2) const
4907 return isl::pw_aff(*this).div(pa2);
4910 isl::set aff::domain() const
4914 return isl::pw_aff(*this).domain();
4917 isl::aff aff::domain_reverse() const
4929 isl::pw_aff aff::drop_unused_params() const
4933 return isl::pw_aff(*this).drop_unused_params();
4936 isl::set aff::eq_set(isl::aff aff2) const
4948 isl::set aff::eq_set(const isl::pw_aff &pwaff2) const
4952 return isl::pw_aff(*this).eq_set(pwaff2);
4955 isl::val aff::eval(isl::point pnt) const
4967 isl::pw_multi_aff aff::extract_pw_multi_aff(const isl::space &space) const
4971 return isl::pw_aff(*this).extract_pw_multi_aff(space);
4974 isl::multi_aff aff::flat_range_product(const isl::multi_aff &multi2) const
4978 return isl::multi_aff(*this).flat_range_product(multi2);
4981 isl::multi_pw_aff aff::flat_range_product(const isl::multi_pw_aff &multi2) const
4985 return isl::pw_aff(*this).flat_range_product(multi2);
4988 isl::multi_union_pw_aff aff::flat_range_product(const isl::multi_union_pw_aff &multi2) const
4992 return isl::pw_aff(*this).flat_range_product(multi2);
4995 isl::pw_multi_aff aff::flat_range_product(const isl::pw_multi_aff &pma2) const
4999 return isl::pw_aff(*this).flat_range_product(pma2);
5002 isl::union_pw_multi_aff aff::flat_range_product(const isl::union_pw_multi_aff &upma2) const
5006 return isl::pw_aff(*this).flat_range_product(upma2);
5009 isl::aff aff::floor() const
5021 void aff::foreach_piece(const std::function<void(isl::set, isl::multi_aff)> &fn) const
5025 return isl::pw_aff(*this).foreach_piece(fn);
5028 isl::set aff::ge_set(isl::aff aff2) const
5040 isl::set aff::ge_set(const isl::pw_aff &pwaff2) const
5044 return isl::pw_aff(*this).ge_set(pwaff2);
5047 isl::aff aff::gist(isl::set context) const
5059 isl::union_pw_aff aff::gist(const isl::union_set &context) const
5063 return isl::pw_aff(*this).gist(context);
5066 isl::aff aff::gist(const isl::basic_set &context) const
5070 return this->gist(isl::set(context));
5073 isl::aff aff::gist(const isl::point &context) const
5077 return this->gist(isl::set(context));
5080 isl::aff aff::gist_params(isl::set context) const
5092 isl::set aff::gt_set(isl::aff aff2) const
5104 isl::set aff::gt_set(const isl::pw_aff &pwaff2) const
5108 return isl::pw_aff(*this).gt_set(pwaff2);
5115 return isl::multi_aff(*this).has_range_tuple_id();
5118 isl::multi_aff aff::identity() const
5122 return isl::multi_aff(*this).identity();
5125 isl::pw_aff aff::insert_domain(const isl::space &domain) const
5129 return isl::pw_aff(*this).insert_domain(domain);
5132 isl::pw_aff aff::intersect_domain(const isl::set &set) const
5136 return isl::pw_aff(*this).intersect_domain(set);
5139 isl::union_pw_aff aff::intersect_domain(const isl::space &space) const
5143 return isl::pw_aff(*this).intersect_domain(space);
5146 isl::union_pw_aff aff::intersect_domain(const isl::union_set &uset) const
5150 return isl::pw_aff(*this).intersect_domain(uset);
5153 isl::union_pw_aff aff::intersect_domain_wrapped_domain(const isl::union_set &uset) const
5157 return isl::pw_aff(*this).intersect_domain_wrapped_domain(uset);
5160 isl::union_pw_aff aff::intersect_domain_wrapped_range(const isl::union_set &uset) const
5164 return isl::pw_aff(*this).intersect_domain_wrapped_range(uset);
5167 isl::pw_aff aff::intersect_params(const isl::set &set) const
5171 return isl::pw_aff(*this).intersect_params(set);
5178 return isl::multi_aff(*this).involves_locals();
5185 return isl::multi_aff(*this).involves_nan();
5188 bool aff::involves_param(const isl::id &id) const
5192 return isl::pw_aff(*this).involves_param(id);
5199 return this->involves_param(isl::id(ctx(), id));
5202 bool aff::involves_param(const isl::id_list &list) const
5206 return isl::pw_aff(*this).involves_param(list);
5225 return isl::pw_aff(*this).isa_aff();
5232 return isl::pw_aff(*this).isa_multi_aff();
5239 return isl::pw_aff(*this).isa_pw_multi_aff();
5242 isl::set aff::le_set(isl::aff aff2) const
5254 isl::set aff::le_set(const isl::pw_aff &pwaff2) const
5258 return isl::pw_aff(*this).le_set(pwaff2);
5261 isl::aff_list aff::list() const
5265 return isl::multi_aff(*this).list();
5268 isl::set aff::lt_set(isl::aff aff2) const
5280 isl::set aff::lt_set(const isl::pw_aff &pwaff2) const
5284 return isl::pw_aff(*this).lt_set(pwaff2);
5287 isl::multi_pw_aff aff::max(const isl::multi_pw_aff &multi2) const
5291 return isl::pw_aff(*this).max(multi2);
5294 isl::pw_aff aff::max(const isl::pw_aff &pwaff2) const
5298 return isl::pw_aff(*this).max(pwaff2);
5301 isl::multi_val aff::max_multi_val() const
5305 return isl::pw_aff(*this).max_multi_val();
5308 isl::val aff::max_val() const
5312 return isl::pw_aff(*this).max_val();
5315 isl::multi_pw_aff aff::min(const isl::multi_pw_aff &multi2) const
5319 return isl::pw_aff(*this).min(multi2);
5322 isl::pw_aff aff::min(const isl::pw_aff &pwaff2) const
5326 return isl::pw_aff(*this).min(pwaff2);
5329 isl::multi_val aff::min_multi_val() const
5333 return isl::pw_aff(*this).min_multi_val();
5336 isl::val aff::min_val() const
5340 return isl::pw_aff(*this).min_val();
5343 isl::aff aff::mod(isl::val mod) const
5355 isl::aff aff::mod(long mod) const
5359 return this->mod(isl::val(ctx(), mod));
5362 isl::aff aff::mul(isl::aff aff2) const
5374 isl::pw_aff aff::mul(const isl::pw_aff &pwaff2) const
5378 return isl::pw_aff(*this).mul(pwaff2);
5385 return isl::pw_aff(*this).n_piece();
5388 isl::set aff::ne_set(isl::aff aff2) const
5400 isl::set aff::ne_set(const isl::pw_aff &pwaff2) const
5404 return isl::pw_aff(*this).ne_set(pwaff2);
5407 isl::aff aff::neg() const
5419 isl::set aff::params() const
5423 return isl::pw_aff(*this).params();
5430 return isl::pw_aff(*this).plain_is_empty();
5433 bool aff::plain_is_equal(const isl::aff &aff2) const
5445 bool aff::plain_is_equal(const isl::multi_aff &multi2) const
5449 return isl::multi_aff(*this).plain_is_equal(multi2);
5452 bool aff::plain_is_equal(const isl::multi_pw_aff &multi2) const
5456 return isl::pw_aff(*this).plain_is_equal(multi2);
5459 bool aff::plain_is_equal(const isl::multi_union_pw_aff &multi2) const
5463 return isl::pw_aff(*this).plain_is_equal(multi2);
5466 bool aff::plain_is_equal(const isl::pw_aff &pwaff2) const
5470 return isl::pw_aff(*this).plain_is_equal(pwaff2);
5473 bool aff::plain_is_equal(const isl::pw_multi_aff &pma2) const
5477 return isl::pw_aff(*this).plain_is_equal(pma2);
5480 bool aff::plain_is_equal(const isl::union_pw_aff &upa2) const
5484 return isl::pw_aff(*this).plain_is_equal(upa2);
5487 bool aff::plain_is_equal(const isl::union_pw_multi_aff &upma2) const
5491 return isl::pw_aff(*this).plain_is_equal(upma2);
5494 isl::pw_multi_aff aff::preimage_domain_wrapped_domain(const isl::pw_multi_aff &pma2) const
5498 return isl::pw_aff(*this).preimage_domain_wrapped_domain(pma2);
5501 isl::union_pw_multi_aff aff::preimage_domain_wrapped_domain(const isl::union_pw_multi_aff &upma2) const
5505 return isl::pw_aff(*this).preimage_domain_wrapped_domain(upma2);
5508 isl::multi_aff aff::product(const isl::multi_aff &multi2) const
5512 return isl::multi_aff(*this).product(multi2);
5515 isl::multi_pw_aff aff::product(const isl::multi_pw_aff &multi2) const
5519 return isl::pw_aff(*this).product(multi2);
5522 isl::pw_multi_aff aff::product(const isl::pw_multi_aff &pma2) const
5526 return isl::pw_aff(*this).product(pma2);
5529 isl::aff aff::pullback(isl::multi_aff ma) const
5541 isl::pw_aff aff::pullback(const isl::multi_pw_aff &mpa) const
5545 return isl::pw_aff(*this).pullback(mpa);
5548 isl::pw_aff aff::pullback(const isl::pw_multi_aff &pma) const
5552 return isl::pw_aff(*this).pullback(pma);
5555 isl::union_pw_aff aff::pullback(const isl::union_pw_multi_aff &upma) const
5559 return isl::pw_aff(*this).pullback(upma);
5562 isl::aff aff::pullback(const isl::aff &ma) const
5566 return this->pullback(isl::multi_aff(ma));
5569 isl::pw_multi_aff_list aff::pw_multi_aff_list() const
5573 return isl::pw_aff(*this).pw_multi_aff_list();
5576 isl::pw_multi_aff aff::range_factor_domain() const
5580 return isl::pw_aff(*this).range_factor_domain();
5583 isl::pw_multi_aff aff::range_factor_range() const
5587 return isl::pw_aff(*this).range_factor_range();
5590 isl::multi_aff aff::range_product(const isl::multi_aff &multi2) const
5594 return isl::multi_aff(*this).range_product(multi2);
5597 isl::multi_pw_aff aff::range_product(const isl::multi_pw_aff &multi2) const
5601 return isl::pw_aff(*this).range_product(multi2);
5604 isl::multi_union_pw_aff aff::range_product(const isl::multi_union_pw_aff &multi2) const
5608 return isl::pw_aff(*this).range_product(multi2);
5611 isl::pw_multi_aff aff::range_product(const isl::pw_multi_aff &pma2) const
5615 return isl::pw_aff(*this).range_product(pma2);
5618 isl::union_pw_multi_aff aff::range_product(const isl::union_pw_multi_aff &upma2) const
5622 return isl::pw_aff(*this).range_product(upma2);
5625 isl::id aff::range_tuple_id() const
5629 return isl::multi_aff(*this).range_tuple_id();
5632 isl::multi_aff aff::reset_range_tuple_id() const
5636 return isl::multi_aff(*this).reset_range_tuple_id();
5639 isl::aff aff::scale(isl::val v) const
5651 isl::aff aff::scale(long v) const
5655 return this->scale(isl::val(ctx(), v));
5658 isl::multi_aff aff::scale(const isl::multi_val &mv) const
5662 return isl::multi_aff(*this).scale(mv);
5665 isl::aff aff::scale_down(isl::val v) const
5677 isl::aff aff::scale_down(long v) const
5681 return this->scale_down(isl::val(ctx(), v));
5684 isl::multi_aff aff::scale_down(const isl::multi_val &mv) const
5688 return isl::multi_aff(*this).scale_down(mv);
5691 isl::multi_aff aff::set_at(int pos, const isl::aff &el) const
5695 return isl::multi_aff(*this).set_at(pos, el);
5698 isl::multi_pw_aff aff::set_at(int pos, const isl::pw_aff &el) const
5702 return isl::pw_aff(*this).set_at(pos, el);
5705 isl::multi_union_pw_aff aff::set_at(int pos, const isl::union_pw_aff &el) const
5709 return isl::pw_aff(*this).set_at(pos, el);
5712 isl::multi_aff aff::set_range_tuple(const isl::id &id) const
5716 return isl::multi_aff(*this).set_range_tuple(id);
5719 isl::multi_aff aff::set_range_tuple(const std::string &id) const
5723 return this->set_range_tuple(isl::id(ctx(), id));
5730 return isl::multi_aff(*this).size();
5733 isl::space aff::space() const
5737 return isl::pw_aff(*this).space();
5740 isl::aff aff::sub(isl::aff aff2) const
5752 isl::multi_aff aff::sub(const isl::multi_aff &multi2) const
5756 return isl::multi_aff(*this).sub(multi2);
5759 isl::multi_pw_aff aff::sub(const isl::multi_pw_aff &multi2) const
5763 return isl::pw_aff(*this).sub(multi2);
5766 isl::multi_union_pw_aff aff::sub(const isl::multi_union_pw_aff &multi2) const
5770 return isl::pw_aff(*this).sub(multi2);
5773 isl::pw_aff aff::sub(const isl::pw_aff &pwaff2) const
5777 return isl::pw_aff(*this).sub(pwaff2);
5780 isl::pw_multi_aff aff::sub(const isl::pw_multi_aff &pma2) const
5784 return isl::pw_aff(*this).sub(pma2);
5787 isl::union_pw_aff aff::sub(const isl::union_pw_aff &upa2) const
5791 return isl::pw_aff(*this).sub(upa2);
5794 isl::union_pw_multi_aff aff::sub(const isl::union_pw_multi_aff &upma2) const
5798 return isl::pw_aff(*this).sub(upma2);
5801 isl::pw_aff aff::subtract_domain(const isl::set &set) const
5805 return isl::pw_aff(*this).subtract_domain(set);
5808 isl::union_pw_aff aff::subtract_domain(const isl::space &space) const
5812 return isl::pw_aff(*this).subtract_domain(space);
5815 isl::union_pw_aff aff::subtract_domain(const isl::union_set &uset) const
5819 return isl::pw_aff(*this).subtract_domain(uset);
5822 isl::pw_aff aff::tdiv_q(const isl::pw_aff &pa2) const
5826 return isl::pw_aff(*this).tdiv_q(pa2);
5829 isl::pw_aff aff::tdiv_r(const isl::pw_aff &pa2) const
5833 return isl::pw_aff(*this).tdiv_r(pa2);
5836 isl::aff_list aff::to_list() const
5848 isl::multi_pw_aff aff::to_multi_pw_aff() const
5852 return isl::multi_aff(*this).to_multi_pw_aff();
5855 isl::multi_union_pw_aff aff::to_multi_union_pw_aff() const
5859 return isl::multi_aff(*this).to_multi_union_pw_aff();
5862 isl::pw_multi_aff aff::to_pw_multi_aff() const
5866 return isl::multi_aff(*this).to_pw_multi_aff();
5869 isl::union_pw_aff aff::to_union_pw_aff() const
5873 return isl::pw_aff(*this).to_union_pw_aff();
5876 isl::union_pw_multi_aff aff::to_union_pw_multi_aff() const
5880 return isl::pw_aff(*this).to_union_pw_multi_aff();
5883 isl::aff aff::unbind_params_insert_domain(isl::multi_id domain) const
5895 isl::multi_pw_aff aff::union_add(const isl::multi_pw_aff &mpa2) const
5899 return isl::pw_aff(*this).union_add(mpa2);
5902 isl::multi_union_pw_aff aff::union_add(const isl::multi_union_pw_aff &mupa2) const
5906 return isl::pw_aff(*this).union_add(mupa2);
5909 isl::pw_aff aff::union_add(const isl::pw_aff &pwaff2) const
5913 return isl::pw_aff(*this).union_add(pwaff2);
5916 isl::pw_multi_aff aff::union_add(const isl::pw_multi_aff &pma2) const
5920 return isl::pw_aff(*this).union_add(pma2);
5923 isl::union_pw_aff aff::union_add(const isl::union_pw_aff &upa2) const
5927 return isl::pw_aff(*this).union_add(upa2);
5930 isl::union_pw_multi_aff aff::union_add(const isl::union_pw_multi_aff &upma2) const
5934 return isl::pw_aff(*this).union_add(upma2);
5937 isl::aff aff::zero_on_domain(isl::space space)
5963 // implementations for isl::aff_list
5998 aff_list::aff_list(isl::ctx ctx, int n)
6008 aff_list::aff_list(isl::aff el)
6020 aff_list::aff_list(isl::ctx ctx, const std::string &str)
6058 isl::ctx aff_list::ctx() const {
6059 return isl::ctx(isl_aff_list_get_ctx(ptr));
6062 isl::aff_list aff_list::add(isl::aff el) const
6074 isl::aff aff_list::at(int index) const
6086 isl::aff aff_list::get_at(int index) const
6091 isl::aff_list aff_list::clear() const
6103 isl::aff_list aff_list::concat(isl::aff_list list2) const
6115 isl::aff_list aff_list::drop(unsigned int first, unsigned int n) const
6127 void aff_list::foreach(const std::function<void(isl::aff)> &fn) const
6134 std::function<void(isl::aff)> func;
6155 void aff_list::foreach_scc(const std::function<bool(isl::aff, isl::aff)> &follows, const std::function<void(isl::aff_list)> &fn) const
6162 std::function<bool(isl::aff, isl::aff)> func;
6176 std::function<void(isl::aff_list)> func;
6199 isl::aff_list aff_list::insert(unsigned int pos, isl::aff el) const
6211 isl::aff_list aff_list::set_at(int index, isl::aff el) const
6249 // implementations for isl::ast_build
6285 ast_build::ast_build(isl::ctx ctx)
6326 isl::ctx ast_build::ctx() const {
6327 return isl::ctx(isl_ast_build_get_ctx(ptr));
6348 void ast_build::set_at_each_domain_data(const std::function<isl::ast_node(isl::ast_node, isl::ast_build)> &fn)
6361 isl::ast_build ast_build::set_at_each_domain(const std::function<isl::ast_node(isl::ast_node, isl::ast_build)> &fn) const
6368 isl::ast_expr ast_build::access_from(isl::multi_pw_aff mpa) const
6385 isl::ast_expr ast_build::access_from(isl::pw_multi_aff pma) const
6402 isl::ast_expr ast_build::call_from(isl::multi_pw_aff mpa) const
6419 isl::ast_expr ast_build::call_from(isl::pw_multi_aff pma) const
6436 isl::ast_expr ast_build::expr_from(isl::pw_aff pa) const
6453 isl::ast_expr ast_build::expr_from(isl::set set) const
6470 isl::ast_build ast_build::from_context(isl::set set)
6482 isl::ast_node ast_build::node_from(isl::schedule schedule) const
6499 isl::ast_node ast_build::node_from_schedule_map(isl::union_map schedule) const
6516 isl::union_map ast_build::schedule() const
6533 isl::union_map ast_build::get_schedule() const
6538 // implementations for isl::ast_expr
6621 isl::ctx ast_expr::ctx() const {
6622 return isl::ctx(isl_ast_expr_get_ctx(ptr));
6651 // implementations for isl::ast_expr_id
6668 isl::ctx ast_expr_id::ctx() const {
6669 return isl::ctx(isl_ast_expr_get_ctx(ptr));
6672 isl::id ast_expr_id::id() const
6684 isl::id ast_expr_id::get_id() const
6703 // implementations for isl::ast_expr_int
6720 isl::ctx ast_expr_int::ctx() const {
6721 return isl::ctx(isl_ast_expr_get_ctx(ptr));
6724 isl::val ast_expr_int::val() const
6736 isl::val ast_expr_int::get_val() const
6755 // implementations for isl::ast_expr_op
6792 isl::ctx ast_expr_op::ctx() const {
6793 return isl::ctx(isl_ast_expr_get_ctx(ptr));
6796 isl::ast_expr ast_expr_op::arg(int pos) const
6808 isl::ast_expr ast_expr_op::get_arg(int pos) const
6844 // implementations for isl::ast_expr_op_access
6861 isl::ctx ast_expr_op_access::ctx() const {
6862 return isl::ctx(isl_ast_expr_get_ctx(ptr));
6879 // implementations for isl::ast_expr_op_add
6896 isl::ctx ast_expr_op_add::ctx() const {
6897 return isl::ctx(isl_ast_expr_get_ctx(ptr));
6914 // implementations for isl::ast_expr_op_address_of
6931 isl::ctx ast_expr_op_address_of::ctx() const {
6932 return isl::ctx(isl_ast_expr_get_ctx(ptr));
6949 // implementations for isl::ast_expr_op_and
6966 isl::ctx ast_expr_op_and::ctx() const {
6967 return isl::ctx(isl_ast_expr_get_ctx(ptr));
6984 // implementations for isl::ast_expr_op_and_then
7001 isl::ctx ast_expr_op_and_then::ctx() const {
7002 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7019 // implementations for isl::ast_expr_op_call
7036 isl::ctx ast_expr_op_call::ctx() const {
7037 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7054 // implementations for isl::ast_expr_op_cond
7071 isl::ctx ast_expr_op_cond::ctx() const {
7072 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7089 // implementations for isl::ast_expr_op_div
7106 isl::ctx ast_expr_op_div::ctx() const {
7107 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7124 // implementations for isl::ast_expr_op_eq
7141 isl::ctx ast_expr_op_eq::ctx() const {
7142 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7159 // implementations for isl::ast_expr_op_fdiv_q
7176 isl::ctx ast_expr_op_fdiv_q::ctx() const {
7177 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7194 // implementations for isl::ast_expr_op_ge
7211 isl::ctx ast_expr_op_ge::ctx() const {
7212 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7229 // implementations for isl::ast_expr_op_gt
7246 isl::ctx ast_expr_op_gt::ctx() const {
7247 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7264 // implementations for isl::ast_expr_op_le
7281 isl::ctx ast_expr_op_le::ctx() const {
7282 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7299 // implementations for isl::ast_expr_op_lt
7316 isl::ctx ast_expr_op_lt::ctx() const {
7317 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7334 // implementations for isl::ast_expr_op_max
7351 isl::ctx ast_expr_op_max::ctx() const {
7352 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7369 // implementations for isl::ast_expr_op_member
7386 isl::ctx ast_expr_op_member::ctx() const {
7387 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7404 // implementations for isl::ast_expr_op_min
7421 isl::ctx ast_expr_op_min::ctx() const {
7422 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7439 // implementations for isl::ast_expr_op_minus
7456 isl::ctx ast_expr_op_minus::ctx() const {
7457 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7474 // implementations for isl::ast_expr_op_mul
7491 isl::ctx ast_expr_op_mul::ctx() const {
7492 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7509 // implementations for isl::ast_expr_op_or
7526 isl::ctx ast_expr_op_or::ctx() const {
7527 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7544 // implementations for isl::ast_expr_op_or_else
7561 isl::ctx ast_expr_op_or_else::ctx() const {
7562 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7579 // implementations for isl::ast_expr_op_pdiv_q
7596 isl::ctx ast_expr_op_pdiv_q::ctx() const {
7597 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7614 // implementations for isl::ast_expr_op_pdiv_r
7631 isl::ctx ast_expr_op_pdiv_r::ctx() const {
7632 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7649 // implementations for isl::ast_expr_op_select
7666 isl::ctx ast_expr_op_select::ctx() const {
7667 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7684 // implementations for isl::ast_expr_op_sub
7701 isl::ctx ast_expr_op_sub::ctx() const {
7702 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7719 // implementations for isl::ast_expr_op_zdiv_r
7736 isl::ctx ast_expr_op_zdiv_r::ctx() const {
7737 return isl::ctx(isl_ast_expr_get_ctx(ptr));
7754 // implementations for isl::ast_node
7837 isl::ctx ast_node::ctx() const {
7838 return isl::ctx(isl_ast_node_get_ctx(ptr));
7841 isl::ast_node ast_node::map_descendant_bottom_up(const std::function<isl::ast_node(isl::ast_node)> &fn) const
7848 std::function<isl::ast_node(isl::ast_node)> func;
7881 isl::ast_node_list ast_node::to_list() const
7907 // implementations for isl::ast_node_block
7919 ast_node_block::ast_node_block(isl::ast_node_list list)
7936 isl::ctx ast_node_block::ctx() const {
7937 return isl::ctx(isl_ast_node_get_ctx(ptr));
7940 isl::ast_node_list ast_node_block::children() const
7952 isl::ast_node_list ast_node_block::get_children() const
7971 // implementations for isl::ast_node_for
7988 isl::ctx ast_node_for::ctx() const {
7989 return isl::ctx(isl_ast_node_get_ctx(ptr));
7992 isl::ast_node ast_node_for::body() const
8004 isl::ast_node ast_node_for::get_body() const
8009 isl::ast_expr ast_node_for::cond() const
8021 isl::ast_expr ast_node_for::get_cond() const
8026 isl::ast_expr ast_node_for::inc() const
8038 isl::ast_expr ast_node_for::get_inc() const
8043 isl::ast_expr ast_node_for::init() const
8055 isl::ast_expr ast_node_for::get_init() const
8072 isl::ast_expr ast_node_for::iterator() const
8084 isl::ast_expr ast_node_for::get_iterator() const
8103 // implementations for isl::ast_node_if
8120 isl::ctx ast_node_if::ctx() const {
8121 return isl::ctx(isl_ast_node_get_ctx(ptr));
8124 isl::ast_expr ast_node_if::cond() const
8136 isl::ast_expr ast_node_if::get_cond() const
8141 isl::ast_node ast_node_if::else_node() const
8153 isl::ast_node ast_node_if::get_else_node() const
8170 isl::ast_node ast_node_if::then_node() const
8182 isl::ast_node ast_node_if::get_then_node() const
8201 // implementations for isl::ast_node_list
8236 ast_node_list::ast_node_list(isl::ctx ctx, int n)
8246 ast_node_list::ast_node_list(isl::ast_node el)
8286 isl::ctx ast_node_list::ctx() const {
8287 return isl::ctx(isl_ast_node_list_get_ctx(ptr));
8290 isl::ast_node_list ast_node_list::add(isl::ast_node el) const
8302 isl::ast_node ast_node_list::at(int index) const
8314 isl::ast_node ast_node_list::get_at(int index) const
8319 isl::ast_node_list ast_node_list::clear() const
8331 isl::ast_node_list ast_node_list::concat(isl::ast_node_list list2) const
8343 isl::ast_node_list ast_node_list::drop(unsigned int first, unsigned int n) const
8355 void ast_node_list::foreach(const std::function<void(isl::ast_node)> &fn) const
8362 std::function<void(isl::ast_node)> func;
8383 void ast_node_list::foreach_scc(const std::function<bool(isl::ast_node, isl::ast_node)> &follows, const std::function<void(isl::ast_node_list)> &fn) const
8390 std::function<bool(isl::ast_node, isl::ast_node)> func;
8404 std::function<void(isl::ast_node_list)> func;
8427 isl::ast_node_list ast_node_list::insert(unsigned int pos, isl::ast_node el) const
8439 isl::ast_node_list ast_node_list::set_at(int index, isl::ast_node el) const
8477 // implementations for isl::ast_node_mark
8494 isl::ctx ast_node_mark::ctx() const {
8495 return isl::ctx(isl_ast_node_get_ctx(ptr));
8498 isl::id ast_node_mark::id() const
8510 isl::id ast_node_mark::get_id() const
8515 isl::ast_node ast_node_mark::node() const
8527 isl::ast_node ast_node_mark::get_node() const
8546 // implementations for isl::ast_node_user
8558 ast_node_user::ast_node_user(isl::ast_expr expr)
8575 isl::ctx ast_node_user::ctx() const {
8576 return isl::ctx(isl_ast_node_get_ctx(ptr));
8579 isl::ast_expr ast_node_user::expr() const
8591 isl::ast_expr ast_node_user::get_expr() const
8610 // implementations for isl::basic_map
8645 basic_map::basic_map(isl::ctx ctx, const std::string &str)
8683 isl::ctx basic_map::ctx() const {
8684 return isl::ctx(isl_basic_map_get_ctx(ptr));
8687 isl::basic_map basic_map::affine_hull() const
8699 isl::basic_map basic_map::apply_domain(isl::basic_map bmap2) const
8711 isl::map basic_map::apply_domain(const isl::map &map2) const
8715 return isl::map(*this).apply_domain(map2);
8718 isl::union_map basic_map::apply_domain(const isl::union_map &umap2) const
8722 return isl::map(*this).apply_domain(umap2);
8725 isl::basic_map basic_map::apply_range(isl::basic_map bmap2) const
8737 isl::map basic_map::apply_range(const isl::map &map2) const
8741 return isl::map(*this).apply_range(map2);
8744 isl::union_map basic_map::apply_range(const isl::union_map &umap2) const
8748 return isl::map(*this).apply_range(umap2);
8751 isl::map basic_map::as_map() const
8755 return isl::map(*this).as_map();
8758 isl::multi_union_pw_aff basic_map::as_multi_union_pw_aff() const
8762 return isl::map(*this).as_multi_union_pw_aff();
8765 isl::pw_multi_aff basic_map::as_pw_multi_aff() const
8769 return isl::map(*this).as_pw_multi_aff();
8772 isl::union_pw_multi_aff basic_map::as_union_pw_multi_aff() const
8776 return isl::map(*this).as_union_pw_multi_aff();
8779 isl::set basic_map::bind_domain(const isl::multi_id &tuple) const
8783 return isl::map(*this).bind_domain(tuple);
8786 isl::set basic_map::bind_range(const isl::multi_id &tuple) const
8790 return isl::map(*this).bind_range(tuple);
8793 isl::map basic_map::coalesce() const
8797 return isl::map(*this).coalesce();
8800 isl::map basic_map::complement() const
8804 return isl::map(*this).complement();
8807 isl::union_map basic_map::compute_divs() const
8811 return isl::map(*this).compute_divs();
8814 isl::map basic_map::curry() const
8818 return isl::map(*this).curry();
8821 isl::basic_set basic_map::deltas() const
8833 isl::basic_map basic_map::detect_equalities() const
8845 isl::set basic_map::domain() const
8849 return isl::map(*this).domain();
8852 isl::map basic_map::domain_factor_domain() const
8856 return isl::map(*this).domain_factor_domain();
8859 isl::map basic_map::domain_factor_range() const
8863 return isl::map(*this).domain_factor_range();
8866 isl::union_map basic_map::domain_map() const
8870 return isl::map(*this).domain_map();
8873 isl::union_pw_multi_aff basic_map::domain_map_union_pw_multi_aff() const
8877 return isl::map(*this).domain_map_union_pw_multi_aff();
8880 isl::map basic_map::domain_product(const isl::map &map2) const
8884 return isl::map(*this).domain_product(map2);
8887 isl::union_map basic_map::domain_product(const isl::union_map &umap2) const
8891 return isl::map(*this).domain_product(umap2);
8894 isl::map basic_map::domain_reverse() const
8898 return isl::map(*this).domain_reverse();
8905 return isl::map(*this).domain_tuple_dim();
8908 isl::id basic_map::domain_tuple_id() const
8912 return isl::map(*this).domain_tuple_id();
8915 isl::map basic_map::drop_unused_params() const
8919 return isl::map(*this).drop_unused_params();
8922 isl::map basic_map::eq_at(const isl::multi_pw_aff &mpa) const
8926 return isl::map(*this).eq_at(mpa);
8929 isl::union_map basic_map::eq_at(const isl::multi_union_pw_aff &mupa) const
8933 return isl::map(*this).eq_at(mupa);
8936 bool basic_map::every_map(const std::function<bool(isl::map)> &test) const
8940 return isl::map(*this).every_map(test);
8943 isl::map basic_map::extract_map(const isl::space &space) const
8947 return isl::map(*this).extract_map(space);
8950 isl::map basic_map::factor_domain() const
8954 return isl::map(*this).factor_domain();
8957 isl::map basic_map::factor_range() const
8961 return isl::map(*this).factor_range();
8964 isl::map basic_map::fixed_power(const isl::val &exp) const
8968 return isl::map(*this).fixed_power(exp);
8971 isl::map basic_map::fixed_power(long exp) const
8975 return this->fixed_power(isl::val(ctx(), exp));
8978 isl::basic_map basic_map::flatten() const
8990 isl::basic_map basic_map::flatten_domain() const
9002 isl::basic_map basic_map::flatten_range() const
9014 void basic_map::foreach_basic_map(const std::function<void(isl::basic_map)> &fn) const
9018 return isl::map(*this).foreach_basic_map(fn);
9021 void basic_map::foreach_map(const std::function<void(isl::map)> &fn) const
9025 return isl::map(*this).foreach_map(fn);
9028 isl::basic_map basic_map::gist(isl::basic_map context) const
9040 isl::map basic_map::gist(const isl::map &context) const
9044 return isl::map(*this).gist(context);
9047 isl::union_map basic_map::gist(const isl::union_map &context) const
9051 return isl::map(*this).gist(context);
9054 isl::map basic_map::gist_domain(const isl::set &context) const
9058 return isl::map(*this).gist_domain(context);
9061 isl::union_map basic_map::gist_domain(const isl::union_set &uset) const
9065 return isl::map(*this).gist_domain(uset);
9068 isl::map basic_map::gist_params(const isl::set &context) const
9072 return isl::map(*this).gist_params(context);
9075 isl::union_map basic_map::gist_range(const isl::union_set &uset) const
9079 return isl::map(*this).gist_range(uset);
9086 return isl::map(*this).has_domain_tuple_id();
9093 return isl::map(*this).has_range_tuple_id();
9096 isl::basic_map basic_map::intersect(isl::basic_map bmap2) const
9108 isl::map basic_map::intersect(const isl::map &map2) const
9112 return isl::map(*this).intersect(map2);
9115 isl::union_map basic_map::intersect(const isl::union_map &umap2) const
9119 return isl::map(*this).intersect(umap2);
9122 isl::basic_map basic_map::intersect_domain(isl::basic_set bset) const
9134 isl::map basic_map::intersect_domain(const isl::set &set) const
9138 return isl::map(*this).intersect_domain(set);
9141 isl::union_map basic_map::intersect_domain(const isl::space &space) const
9145 return isl::map(*this).intersect_domain(space);
9148 isl::union_map basic_map::intersect_domain(const isl::union_set &uset) const
9152 return isl::map(*this).intersect_domain(uset);
9155 isl::basic_map basic_map::intersect_domain(const isl::point &bset) const
9159 return this->intersect_domain(isl::basic_set(bset));
9162 isl::map basic_map::intersect_domain_factor_domain(const isl::map &factor) const
9166 return isl::map(*this).intersect_domain_factor_domain(factor);
9169 isl::union_map basic_map::intersect_domain_factor_domain(const isl::union_map &factor) const
9173 return isl::map(*this).intersect_domain_factor_domain(factor);
9176 isl::map basic_map::intersect_domain_factor_range(const isl::map &factor) const
9180 return isl::map(*this).intersect_domain_factor_range(factor);
9183 isl::union_map basic_map::intersect_domain_factor_range(const isl::union_map &factor) const
9187 return isl::map(*this).intersect_domain_factor_range(factor);
9190 isl::map basic_map::intersect_domain_wrapped_domain(const isl::set &domain) const
9194 return isl::map(*this).intersect_domain_wrapped_domain(domain);
9197 isl::union_map basic_map::intersect_domain_wrapped_domain(const isl::union_set &domain) const
9201 return isl::map(*this).intersect_domain_wrapped_domain(domain);
9204 isl::map basic_map::intersect_params(const isl::set &params) const
9208 return isl::map(*this).intersect_params(params);
9211 isl::basic_map basic_map::intersect_range(isl::basic_set bset) const
9223 isl::map basic_map::intersect_range(const isl::set &set) const
9227 return isl::map(*this).intersect_range(set);
9230 isl::union_map basic_map::intersect_range(const isl::space &space) const
9234 return isl::map(*this).intersect_range(space);
9237 isl::union_map basic_map::intersect_range(const isl::union_set &uset) const
9241 return isl::map(*this).intersect_range(uset);
9244 isl::basic_map basic_map::intersect_range(const isl::point &bset) const
9248 return this->intersect_range(isl::basic_set(bset));
9251 isl::map basic_map::intersect_range_factor_domain(const isl::map &factor) const
9255 return isl::map(*this).intersect_range_factor_domain(factor);
9258 isl::union_map basic_map::intersect_range_factor_domain(const isl::union_map &factor) const
9262 return isl::map(*this).intersect_range_factor_domain(factor);
9265 isl::map basic_map::intersect_range_factor_range(const isl::map &factor) const
9269 return isl::map(*this).intersect_range_factor_range(factor);
9272 isl::union_map basic_map::intersect_range_factor_range(const isl::union_map &factor) const
9276 return isl::map(*this).intersect_range_factor_range(factor);
9279 isl::map basic_map::intersect_range_wrapped_domain(const isl::set &domain) const
9283 return isl::map(*this).intersect_range_wrapped_domain(domain);
9286 isl::union_map basic_map::intersect_range_wrapped_domain(const isl::union_set &domain) const
9290 return isl::map(*this).intersect_range_wrapped_domain(domain);
9297 return isl::map(*this).is_bijective();
9300 bool basic_map::is_disjoint(const isl::map &map2) const
9304 return isl::map(*this).is_disjoint(map2);
9307 bool basic_map::is_disjoint(const isl::union_map &umap2) const
9311 return isl::map(*this).is_disjoint(umap2);
9326 bool basic_map::is_equal(const isl::basic_map &bmap2) const
9338 bool basic_map::is_equal(const isl::map &map2) const
9342 return isl::map(*this).is_equal(map2);
9345 bool basic_map::is_equal(const isl::union_map &umap2) const
9349 return isl::map(*this).is_equal(umap2);
9356 return isl::map(*this).is_injective();
9363 return isl::map(*this).is_single_valued();
9366 bool basic_map::is_strict_subset(const isl::map &map2) const
9370 return isl::map(*this).is_strict_subset(map2);
9373 bool basic_map::is_strict_subset(const isl::union_map &umap2) const
9377 return isl::map(*this).is_strict_subset(umap2);
9380 bool basic_map::is_subset(const isl::basic_map &bmap2) const
9392 bool basic_map::is_subset(const isl::map &map2) const
9396 return isl::map(*this).is_subset(map2);
9399 bool basic_map::is_subset(const isl::union_map &umap2) const
9403 return isl::map(*this).is_subset(umap2);
9410 return isl::map(*this).isa_map();
9413 isl::map basic_map::lex_ge_at(const isl::multi_pw_aff &mpa) const
9417 return isl::map(*this).lex_ge_at(mpa);
9420 isl::map basic_map::lex_gt_at(const isl::multi_pw_aff &mpa) const
9424 return isl::map(*this).lex_gt_at(mpa);
9427 isl::map basic_map::lex_le_at(const isl::multi_pw_aff &mpa) const
9431 return isl::map(*this).lex_le_at(mpa);
9434 isl::map basic_map::lex_lt_at(const isl::multi_pw_aff &mpa) const
9438 return isl::map(*this).lex_lt_at(mpa);
9441 isl::map basic_map::lexmax() const
9453 isl::pw_multi_aff basic_map::lexmax_pw_multi_aff() const
9457 return isl::map(*this).lexmax_pw_multi_aff();
9460 isl::map basic_map::lexmin() const
9472 isl::pw_multi_aff basic_map::lexmin_pw_multi_aff() const
9476 return isl::map(*this).lexmin_pw_multi_aff();
9479 isl::map basic_map::lower_bound(const isl::multi_pw_aff &lower) const
9483 return isl::map(*this).lower_bound(lower);
9486 isl::map_list basic_map::map_list() const
9490 return isl::map(*this).map_list();
9493 isl::multi_pw_aff basic_map::max_multi_pw_aff() const
9497 return isl::map(*this).max_multi_pw_aff();
9500 isl::multi_pw_aff basic_map::min_multi_pw_aff() const
9504 return isl::map(*this).min_multi_pw_aff();
9511 return isl::map(*this).n_basic_map();
9514 isl::set basic_map::params() const
9518 return isl::map(*this).params();
9521 isl::basic_map basic_map::polyhedral_hull() const
9525 return isl::map(*this).polyhedral_hull();
9528 isl::map basic_map::preimage_domain(const isl::multi_aff &ma) const
9532 return isl::map(*this).preimage_domain(ma);
9535 isl::map basic_map::preimage_domain(const isl::multi_pw_aff &mpa) const
9539 return isl::map(*this).preimage_domain(mpa);
9542 isl::map basic_map::preimage_domain(const isl::pw_multi_aff &pma) const
9546 return isl::map(*this).preimage_domain(pma);
9549 isl::union_map basic_map::preimage_domain(const isl::union_pw_multi_aff &upma) const
9553 return isl::map(*this).preimage_domain(upma);
9556 isl::map basic_map::preimage_range(const isl::multi_aff &ma) const
9560 return isl::map(*this).preimage_range(ma);
9563 isl::map basic_map::preimage_range(const isl::pw_multi_aff &pma) const
9567 return isl::map(*this).preimage_range(pma);
9570 isl::union_map basic_map::preimage_range(const isl::union_pw_multi_aff &upma) const
9574 return isl::map(*this).preimage_range(upma);
9577 isl::map basic_map::product(const isl::map &map2) const
9581 return isl::map(*this).product(map2);
9584 isl::union_map basic_map::product(const isl::union_map &umap2) const
9588 return isl::map(*this).product(umap2);
9591 isl::map basic_map::project_out_all_params() const
9595 return isl::map(*this).project_out_all_params();
9598 isl::map basic_map::project_out_param(const isl::id &id) const
9602 return isl::map(*this).project_out_param(id);
9605 isl::map basic_map::project_out_param(const std::string &id) const
9609 return this->project_out_param(isl::id(ctx(), id));
9612 isl::map basic_map::project_out_param(const isl::id_list &list) const
9616 return isl::map(*this).project_out_param(list);
9619 isl::set basic_map::range() const
9623 return isl::map(*this).range();
9626 isl::map basic_map::range_factor_domain() const
9630 return isl::map(*this).range_factor_domain();
9633 isl::map basic_map::range_factor_range() const
9637 return isl::map(*this).range_factor_range();
9640 isl::fixed_box basic_map::range_lattice_tile() const
9644 return isl::map(*this).range_lattice_tile();
9647 isl::union_map basic_map::range_map() const
9651 return isl::map(*this).range_map();
9654 isl::map basic_map::range_product(const isl::map &map2) const
9658 return isl::map(*this).range_product(map2);
9661 isl::union_map basic_map::range_product(const isl::union_map &umap2) const
9665 return isl::map(*this).range_product(umap2);
9668 isl::map basic_map::range_reverse() const
9672 return isl::map(*this).range_reverse();
9675 isl::fixed_box basic_map::range_simple_fixed_box_hull() const
9679 return isl::map(*this).range_simple_fixed_box_hull();
9686 return isl::map(*this).range_tuple_dim();
9689 isl::id basic_map::range_tuple_id() const
9693 return isl::map(*this).range_tuple_id();
9696 isl::basic_map basic_map::reverse() const
9708 isl::basic_map basic_map::sample() const
9720 isl::map basic_map::set_domain_tuple(const isl::id &id) const
9724 return isl::map(*this).set_domain_tuple(id);
9727 isl::map basic_map::set_domain_tuple(const std::string &id) const
9731 return this->set_domain_tuple(isl::id(ctx(), id));
9734 isl::map basic_map::set_range_tuple(const isl::id &id) const
9738 return isl::map(*this).set_range_tuple(id);
9741 isl::map basic_map::set_range_tuple(const std::string &id) const
9745 return this->set_range_tuple(isl::id(ctx(), id));
9748 isl::space basic_map::space() const
9752 return isl::map(*this).space();
9755 isl::map basic_map::subtract(const isl::map &map2) const
9759 return isl::map(*this).subtract(map2);
9762 isl::union_map basic_map::subtract(const isl::union_map &umap2) const
9766 return isl::map(*this).subtract(umap2);
9769 isl::union_map basic_map::subtract_domain(const isl::union_set &dom) const
9773 return isl::map(*this).subtract_domain(dom);
9776 isl::union_map basic_map::subtract_range(const isl::union_set &dom) const
9780 return isl::map(*this).subtract_range(dom);
9783 isl::map_list basic_map::to_list() const
9787 return isl::map(*this).to_list();
9790 isl::union_map basic_map::to_union_map() const
9794 return isl::map(*this).to_union_map();
9797 isl::map basic_map::uncurry() const
9801 return isl::map(*this).uncurry();
9804 isl::map basic_map::unite(isl::basic_map bmap2) const
9816 isl::map basic_map::unite(const isl::map &map2) const
9820 return isl::map(*this).unite(map2);
9823 isl::union_map basic_map::unite(const isl::union_map &umap2) const
9827 return isl::map(*this).unite(umap2);
9830 isl::basic_map basic_map::unshifted_simple_hull() const
9834 return isl::map(*this).unshifted_simple_hull();
9837 isl::map basic_map::upper_bound(const isl::multi_pw_aff &upper) const
9841 return isl::map(*this).upper_bound(upper);
9844 isl::set basic_map::wrap() const
9848 return isl::map(*this).wrap();
9851 isl::map basic_map::zip() const
9855 return isl::map(*this).zip();
9872 // implementations for isl::basic_set
9907 basic_set::basic_set(isl::point pnt)
9919 basic_set::basic_set(isl::ctx ctx, const std::string &str)
9957 isl::ctx basic_set::ctx() const {
9958 return isl::ctx(isl_basic_set_get_ctx(ptr));
9961 isl::basic_set basic_set::affine_hull() const
9973 isl::basic_set basic_set::apply(isl::basic_map bmap) const
9985 isl::set basic_set::apply(const isl::map &map) const
9989 return isl::set(*this).apply(map);
9992 isl::union_set basic_set::apply(const isl::union_map &umap) const
9996 return isl::set(*this).apply(umap);
9999 isl::pw_multi_aff basic_set::as_pw_multi_aff() const
10003 return isl::set(*this).as_pw_multi_aff();
10006 isl::set basic_set::as_set() const
10010 return isl::set(*this).as_set();
10013 isl::set basic_set::bind(const isl::multi_id &tuple) const
10017 return isl::set(*this).bind(tuple);
10020 isl::set basic_set::coalesce() const
10024 return isl::set(*this).coalesce();
10027 isl::set basic_set::complement() const
10031 return isl::set(*this).complement();
10034 isl::union_set basic_set::compute_divs() const
10038 return isl::set(*this).compute_divs();
10041 isl::basic_set basic_set::detect_equalities() const
10053 isl::val basic_set::dim_max_val(int pos) const
10065 isl::val basic_set::dim_min_val(int pos) const
10069 return isl::set(*this).dim_min_val(pos);
10072 isl::set basic_set::drop_unused_params() const
10076 return isl::set(*this).drop_unused_params();
10079 bool basic_set::every_set(const std::function<bool(isl::set)> &test) const
10083 return isl::set(*this).every_set(test);
10086 isl::set basic_set::extract_set(const isl::space &space) const
10090 return isl::set(*this).extract_set(space);
10093 isl::basic_set basic_set::flatten() const
10105 void basic_set::foreach_basic_set(const std::function<void(isl::basic_set)> &fn) const
10109 return isl::set(*this).foreach_basic_set(fn);
10112 void basic_set::foreach_point(const std::function<void(isl::point)> &fn) const
10116 return isl::set(*this).foreach_point(fn);
10119 void basic_set::foreach_set(const std::function<void(isl::set)> &fn) const
10123 return isl::set(*this).foreach_set(fn);
10126 isl::basic_set basic_set::gist(isl::basic_set context) const
10138 isl::set basic_set::gist(const isl::set &context) const
10142 return isl::set(*this).gist(context);
10145 isl::union_set basic_set::gist(const isl::union_set &context) const
10149 return isl::set(*this).gist(context);
10152 isl::basic_set basic_set::gist(const isl::point &context) const
10156 return this->gist(isl::basic_set(context));
10159 isl::set basic_set::gist_params(const isl::set &context) const
10163 return isl::set(*this).gist_params(context);
10166 isl::map basic_set::identity() const
10170 return isl::set(*this).identity();
10173 isl::pw_aff basic_set::indicator_function() const
10177 return isl::set(*this).indicator_function();
10180 isl::map basic_set::insert_domain(const isl::space &domain) const
10184 return isl::set(*this).insert_domain(domain);
10187 isl::basic_set basic_set::intersect(isl::basic_set bset2) const
10199 isl::set basic_set::intersect(const isl::set &set2) const
10203 return isl::set(*this).intersect(set2);
10206 isl::union_set basic_set::intersect(const isl::union_set &uset2) const
10210 return isl::set(*this).intersect(uset2);
10213 isl::basic_set basic_set::intersect(const isl::point &bset2) const
10217 return this->intersect(isl::basic_set(bset2));
10220 isl::basic_set basic_set::intersect_params(isl::basic_set bset2) const
10232 isl::set basic_set::intersect_params(const isl::set &params) const
10236 return isl::set(*this).intersect_params(params);
10239 isl::basic_set basic_set::intersect_params(const isl::point &bset2) const
10243 return this->intersect_params(isl::basic_set(bset2));
10250 return isl::set(*this).involves_locals();
10253 bool basic_set::is_disjoint(const isl::set &set2) const
10257 return isl::set(*this).is_disjoint(set2);
10260 bool basic_set::is_disjoint(const isl::union_set &uset2) const
10264 return isl::set(*this).is_disjoint(uset2);
10279 bool basic_set::is_equal(const isl::basic_set &bset2) const
10291 bool basic_set::is_equal(const isl::set &set2) const
10295 return isl::set(*this).is_equal(set2);
10298 bool basic_set::is_equal(const isl::union_set &uset2) const
10302 return isl::set(*this).is_equal(uset2);
10305 bool basic_set::is_equal(const isl::point &bset2) const
10309 return this->is_equal(isl::basic_set(bset2));
10316 return isl::set(*this).is_singleton();
10319 bool basic_set::is_strict_subset(const isl::set &set2) const
10323 return isl::set(*this).is_strict_subset(set2);
10326 bool basic_set::is_strict_subset(const isl::union_set &uset2) const
10330 return isl::set(*this).is_strict_subset(uset2);
10333 bool basic_set::is_subset(const isl::basic_set &bset2) const
10345 bool basic_set::is_subset(const isl::set &set2) const
10349 return isl::set(*this).is_subset(set2);
10352 bool basic_set::is_subset(const isl::union_set &uset2) const
10356 return isl::set(*this).is_subset(uset2);
10359 bool basic_set::is_subset(const isl::point &bset2) const
10363 return this->is_subset(isl::basic_set(bset2));
10382 return isl::set(*this).isa_set();
10385 isl::fixed_box basic_set::lattice_tile() const
10389 return isl::set(*this).lattice_tile();
10392 isl::set basic_set::lexmax() const
10404 isl::pw_multi_aff basic_set::lexmax_pw_multi_aff() const
10408 return isl::set(*this).lexmax_pw_multi_aff();
10411 isl::set basic_set::lexmin() const
10423 isl::pw_multi_aff basic_set::lexmin_pw_multi_aff() const
10427 return isl::set(*this).lexmin_pw_multi_aff();
10430 isl::set basic_set::lower_bound(const isl::multi_pw_aff &lower) const
10434 return isl::set(*this).lower_bound(lower);
10437 isl::set basic_set::lower_bound(const isl::multi_val &lower) const
10441 return isl::set(*this).lower_bound(lower);
10444 isl::multi_pw_aff basic_set::max_multi_pw_aff() const
10448 return isl::set(*this).max_multi_pw_aff();
10451 isl::val basic_set::max_val(const isl::aff &obj) const
10455 return isl::set(*this).max_val(obj);
10458 isl::multi_pw_aff basic_set::min_multi_pw_aff() const
10462 return isl::set(*this).min_multi_pw_aff();
10465 isl::val basic_set::min_val(const isl::aff &obj) const
10469 return isl::set(*this).min_val(obj);
10476 return isl::set(*this).n_basic_set();
10479 isl::pw_aff basic_set::param_pw_aff_on_domain(const isl::id &id) const
10483 return isl::set(*this).param_pw_aff_on_domain(id);
10486 isl::pw_aff basic_set::param_pw_aff_on_domain(const std::string &id) const
10490 return this->param_pw_aff_on_domain(isl::id(ctx(), id));
10493 isl::basic_set basic_set::params() const
10505 isl::multi_val basic_set::plain_multi_val_if_fixed() const
10509 return isl::set(*this).plain_multi_val_if_fixed();
10512 isl::basic_set basic_set::polyhedral_hull() const
10516 return isl::set(*this).polyhedral_hull();
10519 isl::set basic_set::preimage(const isl::multi_aff &ma) const
10523 return isl::set(*this).preimage(ma);
10526 isl::set basic_set::preimage(const isl::multi_pw_aff &mpa) const
10530 return isl::set(*this).preimage(mpa);
10533 isl::set basic_set::preimage(const isl::pw_multi_aff &pma) const
10537 return isl::set(*this).preimage(pma);
10540 isl::union_set basic_set::preimage(const isl::union_pw_multi_aff &upma) const
10544 return isl::set(*this).preimage(upma);
10547 isl::set basic_set::product(const isl::set &set2) const
10551 return isl::set(*this).product(set2);
10554 isl::set basic_set::project_out_all_params() const
10558 return isl::set(*this).project_out_all_params();
10561 isl::set basic_set::project_out_param(const isl::id &id) const
10565 return isl::set(*this).project_out_param(id);
10568 isl::set basic_set::project_out_param(const std::string &id) const
10572 return this->project_out_param(isl::id(ctx(), id));
10575 isl::set basic_set::project_out_param(const isl::id_list &list) const
10579 return isl::set(*this).project_out_param(list);
10582 isl::pw_aff basic_set::pw_aff_on_domain(const isl::val &v) const
10586 return isl::set(*this).pw_aff_on_domain(v);
10589 isl::pw_aff basic_set::pw_aff_on_domain(long v) const
10593 return this->pw_aff_on_domain(isl::val(ctx(), v));
10596 isl::pw_multi_aff basic_set::pw_multi_aff_on_domain(const isl::multi_val &mv) const
10600 return isl::set(*this).pw_multi_aff_on_domain(mv);
10603 isl::basic_set basic_set::sample() const
10615 isl::point basic_set::sample_point() const
10627 isl::set_list basic_set::set_list() const
10631 return isl::set(*this).set_list();
10634 isl::fixed_box basic_set::simple_fixed_box_hull() const
10638 return isl::set(*this).simple_fixed_box_hull();
10641 isl::space basic_set::space() const
10645 return isl::set(*this).space();
10648 isl::val basic_set::stride(int pos) const
10652 return isl::set(*this).stride(pos);
10655 isl::set basic_set::subtract(const isl::set &set2) const
10659 return isl::set(*this).subtract(set2);
10662 isl::union_set basic_set::subtract(const isl::union_set &uset2) const
10666 return isl::set(*this).subtract(uset2);
10669 isl::set_list basic_set::to_list() const
10673 return isl::set(*this).to_list();
10676 isl::set basic_set::to_set() const
10688 isl::union_set basic_set::to_union_set() const
10692 return isl::set(*this).to_union_set();
10695 isl::map basic_set::translation() const
10699 return isl::set(*this).translation();
10706 return isl::set(*this).tuple_dim();
10709 isl::set basic_set::unbind_params(const isl::multi_id &tuple) const
10713 return isl::set(*this).unbind_params(tuple);
10716 isl::map basic_set::unbind_params_insert_domain(const isl::multi_id &domain) const
10720 return isl::set(*this).unbind_params_insert_domain(domain);
10723 isl::set basic_set::unite(isl::basic_set bset2) const
10735 isl::set basic_set::unite(const isl::set &set2) const
10739 return isl::set(*this).unite(set2);
10742 isl::union_set basic_set::unite(const isl::union_set &uset2) const
10746 return isl::set(*this).unite(uset2);
10749 isl::set basic_set::unite(const isl::point &bset2) const
10753 return this->unite(isl::basic_set(bset2));
10756 isl::basic_set basic_set::unshifted_simple_hull() const
10760 return isl::set(*this).unshifted_simple_hull();
10763 isl::map basic_set::unwrap() const
10767 return isl::set(*this).unwrap();
10770 isl::set basic_set::upper_bound(const isl::multi_pw_aff &upper) const
10774 return isl::set(*this).upper_bound(upper);
10777 isl::set basic_set::upper_bound(const isl::multi_val &upper) const
10781 return isl::set(*this).upper_bound(upper);
10784 isl::set basic_set::wrapped_reverse() const
10788 return isl::set(*this).wrapped_reverse();
10805 // implementations for isl::fixed_box
10840 fixed_box::fixed_box(isl::ctx ctx, const std::string &str)
10878 isl::ctx fixed_box::ctx() const {
10879 return isl::ctx(isl_fixed_box_get_ctx(ptr));
10894 isl::multi_aff fixed_box::offset() const
10906 isl::multi_aff fixed_box::get_offset() const
10911 isl::multi_val fixed_box::size() const
10923 isl::multi_val fixed_box::get_size() const
10928 isl::space fixed_box::space() const
10940 isl::space fixed_box::get_space() const
10959 // implementations for isl::id
10994 id::id(isl::ctx ctx, const std::string &str)
11032 isl::ctx id::ctx() const {
11033 return isl::ctx(isl_id_get_ctx(ptr));
11052 isl::id_list id::to_list() const
11065 id::id(isl::ctx ctx, const std::string &str, const std::any &any)
11126 // implementations for isl::id_list
11161 id_list::id_list(isl::ctx ctx, int n)
11171 id_list::id_list(isl::id el)
11183 id_list::id_list(isl::ctx ctx, const std::string &str)
11221 isl::ctx id_list::ctx() const {
11222 return isl::ctx(isl_id_list_get_ctx(ptr));
11225 isl::id_list id_list::add(isl::id el) const
11237 isl::id_list id_list::add(const std::string &el) const
11241 return this->add(isl::id(ctx(), el));
11244 isl::id id_list::at(int index) const
11256 isl::id id_list::get_at(int index) const
11261 isl::id_list id_list::clear() const
11273 isl::id_list id_list::concat(isl::id_list list2) const
11285 isl::id_list id_list::drop(unsigned int first, unsigned int n) const
11297 void id_list::foreach(const std::function<void(isl::id)> &fn) const
11304 std::function<void(isl::id)> func;
11325 void id_list::foreach_scc(const std::function<bool(isl::id, isl::id)> &follows, const std::function<void(isl::id_list)> &fn) const
11332 std::function<bool(isl::id, isl::id)> func;
11346 std::function<void(isl::id_list)> func;
11369 isl::id_list id_list::insert(unsigned int pos, isl::id el) const
11381 isl::id_list id_list::insert(unsigned int pos, const std::string &el) const
11385 return this->insert(pos, isl::id(ctx(), el));
11388 isl::id_list id_list::set_at(int index, isl::id el) const
11400 isl::id_list id_list::set_at(int index, const std::string &el) const
11404 return this->set_at(index, isl::id(ctx(), el));
11433 // implementations for isl::id_to_ast_expr
11468 id_to_ast_expr::id_to_ast_expr(isl::ctx ctx, int min_size)
11478 id_to_ast_expr::id_to_ast_expr(isl::ctx ctx, const std::string &str)
11516 isl::ctx id_to_ast_expr::ctx() const {
11517 return isl::ctx(isl_id_to_ast_expr_get_ctx(ptr));
11520 bool id_to_ast_expr::is_equal(const isl::id_to_ast_expr &hmap2) const
11532 isl::id_to_ast_expr id_to_ast_expr::set(isl::id key, isl::ast_expr val) const
11544 isl::id_to_ast_expr id_to_ast_expr::set(const std::string &key, const isl::ast_expr &val) const
11548 return this->set(isl::id(ctx(), key), val);
11565 // implementations for isl::id_to_id
11600 id_to_id::id_to_id(isl::ctx ctx, int min_size)
11610 id_to_id::id_to_id(isl::ctx ctx, const std::string &str)
11648 isl::ctx id_to_id::ctx() const {
11649 return isl::ctx(isl_id_to_id_get_ctx(ptr));
11652 bool id_to_id::is_equal(const isl::id_to_id &hmap2) const
11664 isl::id_to_id id_to_id::set(isl::id key, isl::id val) const
11676 isl::id_to_id id_to_id::set(const isl::id &key, const std::string &val) const
11680 return this->set(key, isl::id(ctx(), val));
11683 isl::id_to_id id_to_id::set(const std::string &key, const isl::id &val) const
11687 return this->set(isl::id(ctx(), key), val);
11690 isl::id_to_id id_to_id::set(const std::string &key, const std::string &val) const
11694 return this->set(isl::id(ctx(), key), isl::id(ctx(), val));
11711 // implementations for isl::map
11746 map::map(isl::basic_map bmap)
11758 map::map(isl::ctx ctx, const std::string &str)
11796 isl::ctx map::ctx() const {
11797 return isl::ctx(isl_map_get_ctx(ptr));
11800 isl::basic_map map::affine_hull() const
11812 isl::map map::apply_domain(isl::map map2) const
11824 isl::union_map map::apply_domain(const isl::union_map &umap2) const
11828 return isl::union_map(*this).apply_domain(umap2);
11831 isl::map map::apply_domain(const isl::basic_map &map2) const
11835 return this->apply_domain(isl::map(map2));
11838 isl::map map::apply_range(isl::map map2) const
11850 isl::union_map map::apply_range(const isl::union_map &umap2) const
11854 return isl::union_map(*this).apply_range(umap2);
11857 isl::map map::apply_range(const isl::basic_map &map2) const
11861 return this->apply_range(isl::map(map2));
11864 isl::map map::as_map() const
11868 return isl::union_map(*this).as_map();
11871 isl::multi_union_pw_aff map::as_multi_union_pw_aff() const
11875 return isl::union_map(*this).as_multi_union_pw_aff();
11878 isl::pw_multi_aff map::as_pw_multi_aff() const
11890 isl::union_pw_multi_aff map::as_union_pw_multi_aff() const
11894 return isl::union_map(*this).as_union_pw_multi_aff();
11897 isl::set map::bind_domain(isl::multi_id tuple) const
11909 isl::set map::bind_range(isl::multi_id tuple) const
11921 isl::map map::coalesce() const
11933 isl::map map::complement() const
11945 isl::union_map map::compute_divs() const
11949 return isl::union_map(*this).compute_divs();
11952 isl::map map::curry() const
11964 isl::set map::deltas() const
11976 isl::map map::detect_equalities() const
11988 isl::set map::domain() const
12000 isl::map map::domain_factor_domain() const
12012 isl::map map::domain_factor_range() const
12024 isl::union_map map::domain_map() const
12028 return isl::union_map(*this).domain_map();
12031 isl::union_pw_multi_aff map::domain_map_union_pw_multi_aff() const
12035 return isl::union_map(*this).domain_map_union_pw_multi_aff();
12038 isl::map map::domain_product(isl::map map2) const
12050 isl::union_map map::domain_product(const isl::union_map &umap2) const
12054 return isl::union_map(*this).domain_product(umap2);
12057 isl::map map::domain_product(const isl::basic_map &map2) const
12061 return this->domain_product(isl::map(map2));
12064 isl::map map::domain_reverse() const
12088 isl::id map::domain_tuple_id() const
12100 isl::id map::get_domain_tuple_id() const
12105 isl::map map::drop_unused_params() const
12117 isl::map map::empty(isl::space space)
12129 isl::map map::eq_at(isl::multi_pw_aff mpa) const
12141 isl::union_map map::eq_at(const isl::multi_union_pw_aff &mupa) const
12145 return isl::union_map(*this).eq_at(mupa);
12148 isl::map map::eq_at(const isl::aff &mpa) const
12152 return this->eq_at(isl::multi_pw_aff(mpa));
12155 isl::map map::eq_at(const isl::multi_aff &mpa) const
12159 return this->eq_at(isl::multi_pw_aff(mpa));
12162 isl::map map::eq_at(const isl::pw_aff &mpa) const
12166 return this->eq_at(isl::multi_pw_aff(mpa));
12169 isl::map map::eq_at(const isl::pw_multi_aff &mpa) const
12173 return this->eq_at(isl::multi_pw_aff(mpa));
12176 bool map::every_map(const std::function<bool(isl::map)> &test) const
12180 return isl::union_map(*this).every_map(test);
12183 isl::map map::extract_map(const isl::space &space) const
12187 return isl::union_map(*this).extract_map(space);
12190 isl::map map::factor_domain() const
12202 isl::map map::factor_range() const
12214 isl::map map::fixed_power(isl::val exp) const
12226 isl::map map::fixed_power(long exp) const
12230 return this->fixed_power(isl::val(ctx(), exp));
12233 isl::map map::flatten() const
12245 isl::map map::flatten_domain() const
12257 isl::map map::flatten_range() const
12269 void map::foreach_basic_map(const std::function<void(isl::basic_map)> &fn) const
12276 std::function<void(isl::basic_map)> func;
12297 void map::foreach_map(const std::function<void(isl::map)> &fn) const
12301 return isl::union_map(*this).foreach_map(fn);
12304 isl::map map::gist(isl::map context) const
12316 isl::union_map map::gist(const isl::union_map &context) const
12320 return isl::union_map(*this).gist(context);
12323 isl::map map::gist(const isl::basic_map &context) const
12327 return this->gist(isl::map(context));
12330 isl::map map::gist_domain(isl::set context) const
12342 isl::union_map map::gist_domain(const isl::union_set &uset) const
12346 return isl::union_map(*this).gist_domain(uset);
12349 isl::map map::gist_domain(const isl::basic_set &context) const
12353 return this->gist_domain(isl::set(context));
12356 isl::map map::gist_domain(const isl::point &context) const
12360 return this->gist_domain(isl::set(context));
12363 isl::map map::gist_params(isl::set context) const
12375 isl::union_map map::gist_range(const isl::union_set &uset) const
12379 return isl::union_map(*this).gist_range(uset);
12406 isl::map map::intersect(isl::map map2) const
12418 isl::union_map map::intersect(const isl::union_map &umap2) const
12422 return isl::union_map(*this).intersect(umap2);
12425 isl::map map::intersect(const isl::basic_map &map2) const
12429 return this->intersect(isl::map(map2));
12432 isl::map map::intersect_domain(isl::set set) const
12444 isl::union_map map::intersect_domain(const isl::space &space) const
12448 return isl::union_map(*this).intersect_domain(space);
12451 isl::union_map map::intersect_domain(const isl::union_set &uset) const
12455 return isl::union_map(*this).intersect_domain(uset);
12458 isl::map map::intersect_domain(const isl::basic_set &set) const
12462 return this->intersect_domain(isl::set(set));
12465 isl::map map::intersect_domain(const isl::point &set) const
12469 return this->intersect_domain(isl::set(set));
12472 isl::map map::intersect_domain_factor_domain(isl::map factor) const
12484 isl::union_map map::intersect_domain_factor_domain(const isl::union_map &factor) const
12488 return isl::union_map(*this).intersect_domain_factor_domain(factor);
12491 isl::map map::intersect_domain_factor_domain(const isl::basic_map &factor) const
12495 return this->intersect_domain_factor_domain(isl::map(factor));
12498 isl::map map::intersect_domain_factor_range(isl::map factor) const
12510 isl::union_map map::intersect_domain_factor_range(const isl::union_map &factor) const
12514 return isl::union_map(*this).intersect_domain_factor_range(factor);
12517 isl::map map::intersect_domain_factor_range(const isl::basic_map &factor) const
12521 return this->intersect_domain_factor_range(isl::map(factor));
12524 isl::map map::intersect_domain_wrapped_domain(isl::set domain) const
12536 isl::union_map map::intersect_domain_wrapped_domain(const isl::union_set &domain) const
12540 return isl::union_map(*this).intersect_domain_wrapped_domain(domain);
12543 isl::map map::intersect_domain_wrapped_domain(const isl::basic_set &domain) const
12547 return this->intersect_domain_wrapped_domain(isl::set(domain));
12550 isl::map map::intersect_domain_wrapped_domain(const isl::point &domain) const
12554 return this->intersect_domain_wrapped_domain(isl::set(domain));
12557 isl::map map::intersect_params(isl::set params) const
12569 isl::map map::intersect_range(isl::set set) const
12581 isl::union_map map::intersect_range(const isl::space &space) const
12585 return isl::union_map(*this).intersect_range(space);
12588 isl::union_map map::intersect_range(const isl::union_set &uset) const
12592 return isl::union_map(*this).intersect_range(uset);
12595 isl::map map::intersect_range(const isl::basic_set &set) const
12599 return this->intersect_range(isl::set(set));
12602 isl::map map::intersect_range(const isl::point &set) const
12606 return this->intersect_range(isl::set(set));
12609 isl::map map::intersect_range_factor_domain(isl::map factor) const
12621 isl::union_map map::intersect_range_factor_domain(const isl::union_map &factor) const
12625 return isl::union_map(*this).intersect_range_factor_domain(factor);
12628 isl::map map::intersect_range_factor_domain(const isl::basic_map &factor) const
12632 return this->intersect_range_factor_domain(isl::map(factor));
12635 isl::map map::intersect_range_factor_range(isl::map factor) const
12647 isl::union_map map::intersect_range_factor_range(const isl::union_map &factor) const
12651 return isl::union_map(*this).intersect_range_factor_range(factor);
12654 isl::map map::intersect_range_factor_range(const isl::basic_map &factor) const
12658 return this->intersect_range_factor_range(isl::map(factor));
12661 isl::map map::intersect_range_wrapped_domain(isl::set domain) const
12673 isl::union_map map::intersect_range_wrapped_domain(const isl::union_set &domain) const
12677 return isl::union_map(*this).intersect_range_wrapped_domain(domain);
12680 isl::map map::intersect_range_wrapped_domain(const isl::basic_set &domain) const
12684 return this->intersect_range_wrapped_domain(isl::set(domain));
12687 isl::map map::intersect_range_wrapped_domain(const isl::point &domain) const
12691 return this->intersect_range_wrapped_domain(isl::set(domain));
12706 bool map::is_disjoint(const isl::map &map2) const
12718 bool map::is_disjoint(const isl::union_map &umap2) const
12722 return isl::union_map(*this).is_disjoint(umap2);
12725 bool map::is_disjoint(const isl::basic_map &map2) const
12729 return this->is_disjoint(isl::map(map2));
12744 bool map::is_equal(const isl::map &map2) const
12756 bool map::is_equal(const isl::union_map &umap2) const
12760 return isl::union_map(*this).is_equal(umap2);
12763 bool map::is_equal(const isl::basic_map &map2) const
12767 return this->is_equal(isl::map(map2));
12794 bool map::is_strict_subset(const isl::map &map2) const
12806 bool map::is_strict_subset(const isl::union_map &umap2) const
12810 return isl::union_map(*this).is_strict_subset(umap2);
12813 bool map::is_strict_subset(const isl::basic_map &map2) const
12817 return this->is_strict_subset(isl::map(map2));
12820 bool map::is_subset(const isl::map &map2) const
12832 bool map::is_subset(const isl::union_map &umap2) const
12836 return isl::union_map(*this).is_subset(umap2);
12839 bool map::is_subset(const isl::basic_map &map2) const
12843 return this->is_subset(isl::map(map2));
12850 return isl::union_map(*this).isa_map();
12853 isl::map map::lex_ge_at(isl::multi_pw_aff mpa) const
12865 isl::map map::lex_gt_at(isl::multi_pw_aff mpa) const
12877 isl::map map::lex_le_at(isl::multi_pw_aff mpa) const
12889 isl::map map::lex_lt_at(isl::multi_pw_aff mpa) const
12901 isl::map map::lexmax() const
12913 isl::pw_multi_aff map::lexmax_pw_multi_aff() const
12925 isl::map map::lexmin() const
12937 isl::pw_multi_aff map::lexmin_pw_multi_aff() const
12949 isl::map map::lower_bound(isl::multi_pw_aff lower) const
12961 isl::map_list map::map_list() const
12965 return isl::union_map(*this).map_list();
12968 isl::multi_pw_aff map::max_multi_pw_aff() const
12980 isl::multi_pw_aff map::min_multi_pw_aff() const
13004 isl::set map::params() const
13016 isl::basic_map map::polyhedral_hull() const
13028 isl::map map::preimage_domain(isl::multi_aff ma) const
13040 isl::map map::preimage_domain(isl::multi_pw_aff mpa) const
13052 isl::map map::preimage_domain(isl::pw_multi_aff pma) const
13064 isl::union_map map::preimage_domain(const isl::union_pw_multi_aff &upma) const
13068 return isl::union_map(*this).preimage_domain(upma);
13071 isl::map map::preimage_range(isl::multi_aff ma) const
13083 isl::map map::preimage_range(isl::pw_multi_aff pma) const
13095 isl::union_map map::preimage_range(const isl::union_pw_multi_aff &upma) const
13099 return isl::union_map(*this).preimage_range(upma);
13102 isl::map map::product(isl::map map2) const
13114 isl::union_map map::product(const isl::union_map &umap2) const
13118 return isl::union_map(*this).product(umap2);
13121 isl::map map::product(const isl::basic_map &map2) const
13125 return this->product(isl::map(map2));
13128 isl::map map::project_out_all_params() const
13140 isl::map map::project_out_param(isl::id id) const
13152 isl::map map::project_out_param(const std::string &id) const
13156 return this->project_out_param(isl::id(ctx(), id));
13159 isl::map map::project_out_param(isl::id_list list) const
13171 isl::set map::range() const
13183 isl::map map::range_factor_domain() const
13195 isl::map map::range_factor_range() const
13207 isl::fixed_box map::range_lattice_tile() const
13219 isl::fixed_box map::get_range_lattice_tile() const
13224 isl::union_map map::range_map() const
13228 return isl::union_map(*this).range_map();
13231 isl::map map::range_product(isl::map map2) const
13243 isl::union_map map::range_product(const isl::union_map &umap2) const
13247 return isl::union_map(*this).range_product(umap2);
13250 isl::map map::range_product(const isl::basic_map &map2) const
13254 return this->range_product(isl::map(map2));
13257 isl::map map::range_reverse() const
13269 isl::fixed_box map::range_simple_fixed_box_hull() const
13281 isl::fixed_box map::get_range_simple_fixed_box_hull() const
13298 isl::id map::range_tuple_id() const
13310 isl::id map::get_range_tuple_id() const
13315 isl::map map::reverse() const
13327 isl::basic_map map::sample() const
13339 isl::map map::set_domain_tuple(isl::id id) const
13351 isl::map map::set_domain_tuple(const std::string &id) const
13355 return this->set_domain_tuple(isl::id(ctx(), id));
13358 isl::map map::set_range_tuple(isl::id id) const
13370 isl::map map::set_range_tuple(const std::string &id) const
13374 return this->set_range_tuple(isl::id(ctx(), id));
13377 isl::space map::space() const
13389 isl::space map::get_space() const
13394 isl::map map::subtract(isl::map map2) const
13406 isl::union_map map::subtract(const isl::union_map &umap2) const
13410 return isl::union_map(*this).subtract(umap2);
13413 isl::map map::subtract(const isl::basic_map &map2) const
13417 return this->subtract(isl::map(map2));
13420 isl::union_map map::subtract_domain(const isl::union_set &dom) const
13424 return isl::union_map(*this).subtract_domain(dom);
13427 isl::union_map map::subtract_range(const isl::union_set &dom) const
13431 return isl::union_map(*this).subtract_range(dom);
13434 isl::map_list map::to_list() const
13446 isl::union_map map::to_union_map() const
13458 isl::map map::uncurry() const
13470 isl::map map::unite(isl::map map2) const
13482 isl::union_map map::unite(const isl::union_map &umap2) const
13486 return isl::union_map(*this).unite(umap2);
13489 isl::map map::unite(const isl::basic_map &map2) const
13493 return this->unite(isl::map(map2));
13496 isl::map map::universe(isl::space space)
13508 isl::basic_map map::unshifted_simple_hull() const
13520 isl::map map::upper_bound(isl::multi_pw_aff upper) const
13532 isl::set map::wrap() const
13544 isl::map map::zip() const
13570 // implementations for isl::map_list
13605 map_list::map_list(isl::ctx ctx, int n)
13615 map_list::map_list(isl::map el)
13627 map_list::map_list(isl::ctx ctx, const std::string &str)
13665 isl::ctx map_list::ctx() const {
13666 return isl::ctx(isl_map_list_get_ctx(ptr));
13669 isl::map_list map_list::add(isl::map el) const
13681 isl::map map_list::at(int index) const
13693 isl::map map_list::get_at(int index) const
13698 isl::map_list map_list::clear() const
13710 isl::map_list map_list::concat(isl::map_list list2) const
13722 isl::map_list map_list::drop(unsigned int first, unsigned int n) const
13734 void map_list::foreach(const std::function<void(isl::map)> &fn) const
13741 std::function<void(isl::map)> func;
13762 void map_list::foreach_scc(const std::function<bool(isl::map, isl::map)> &follows, const std::function<void(isl::map_list)> &fn) const
13769 std::function<bool(isl::map, isl::map)> func;
13783 std::function<void(isl::map_list)> func;
13806 isl::map_list map_list::insert(unsigned int pos, isl::map el) const
13818 isl::map_list map_list::set_at(int index, isl::map el) const
13856 // implementations for isl::multi_aff
13891 multi_aff::multi_aff(isl::aff aff)
13903 multi_aff::multi_aff(isl::space space, isl::aff_list list)
13915 multi_aff::multi_aff(isl::ctx ctx, const std::string &str)
13953 isl::ctx multi_aff::ctx() const {
13954 return isl::ctx(isl_multi_aff_get_ctx(ptr));
13957 isl::multi_aff multi_aff::add(isl::multi_aff multi2) const
13969 isl::multi_pw_aff multi_aff::add(const isl::multi_pw_aff &multi2) const
13973 return isl::pw_multi_aff(*this).add(multi2);
13976 isl::multi_union_pw_aff multi_aff::add(const isl::multi_union_pw_aff &multi2) const
13980 return isl::pw_multi_aff(*this).add(multi2);
13983 isl::pw_multi_aff multi_aff::add(const isl::pw_multi_aff &pma2) const
13987 return isl::pw_multi_aff(*this).add(pma2);
13990 isl::union_pw_multi_aff multi_aff::add(const isl::union_pw_multi_aff &upma2) const
13994 return isl::pw_multi_aff(*this).add(upma2);
13997 isl::multi_aff multi_aff::add(const isl::aff &multi2) const
14001 return this->add(isl::multi_aff(multi2));
14004 isl::multi_aff multi_aff::add_constant(isl::multi_val mv) const
14016 isl::multi_aff multi_aff::add_constant(isl::val v) const
14028 isl::multi_aff multi_aff::add_constant(long v) const
14032 return this->add_constant(isl::val(ctx(), v));
14035 isl::union_pw_multi_aff multi_aff::apply(const isl::union_pw_multi_aff &upma2) const
14039 return isl::pw_multi_aff(*this).apply(upma2);
14042 isl::map multi_aff::as_map() const
14054 isl::multi_aff multi_aff::as_multi_aff() const
14058 return isl::pw_multi_aff(*this).as_multi_aff();
14061 isl::multi_union_pw_aff multi_aff::as_multi_union_pw_aff() const
14065 return isl::pw_multi_aff(*this).as_multi_union_pw_aff();
14068 isl::pw_multi_aff multi_aff::as_pw_multi_aff() const
14072 return isl::pw_multi_aff(*this).as_pw_multi_aff();
14075 isl::set multi_aff::as_set() const
14087 isl::union_map multi_aff::as_union_map() const
14091 return isl::pw_multi_aff(*this).as_union_map();
14094 isl::aff multi_aff::at(int pos) const
14106 isl::aff multi_aff::get_at(int pos) const
14111 isl::basic_set multi_aff::bind(isl::multi_id tuple) const
14123 isl::multi_aff multi_aff::bind_domain(isl::multi_id tuple) const
14135 isl::multi_aff multi_aff::bind_domain_wrapped_domain(isl::multi_id tuple) const
14147 isl::pw_multi_aff multi_aff::coalesce() const
14151 return isl::pw_multi_aff(*this).coalesce();
14154 isl::multi_val multi_aff::constant_multi_val() const
14166 isl::multi_val multi_aff::get_constant_multi_val() const
14171 isl::set multi_aff::domain() const
14175 return isl::pw_multi_aff(*this).domain();
14178 isl::multi_aff multi_aff::domain_map(isl::space space)
14190 isl::multi_aff multi_aff::domain_reverse() const
14202 isl::pw_multi_aff multi_aff::drop_unused_params() const
14206 return isl::pw_multi_aff(*this).drop_unused_params();
14209 isl::pw_multi_aff multi_aff::extract_pw_multi_aff(const isl::space &space) const
14213 return isl::pw_multi_aff(*this).extract_pw_multi_aff(space);
14216 isl::multi_aff multi_aff::flat_range_product(isl::multi_aff multi2) const
14228 isl::multi_pw_aff multi_aff::flat_range_product(const isl::multi_pw_aff &multi2) const
14232 return isl::pw_multi_aff(*this).flat_range_product(multi2);
14235 isl::multi_union_pw_aff multi_aff::flat_range_product(const isl::multi_union_pw_aff &multi2) const
14239 return isl::pw_multi_aff(*this).flat_range_product(multi2);
14242 isl::pw_multi_aff multi_aff::flat_range_product(const isl::pw_multi_aff &pma2) const
14246 return isl::pw_multi_aff(*this).flat_range_product(pma2);
14249 isl::union_pw_multi_aff multi_aff::flat_range_product(const isl::union_pw_multi_aff &upma2) const
14253 return isl::pw_multi_aff(*this).flat_range_product(upma2);
14256 isl::multi_aff multi_aff::flat_range_product(const isl::aff &multi2) const
14260 return this->flat_range_product(isl::multi_aff(multi2));
14263 isl::multi_aff multi_aff::floor() const
14275 void multi_aff::foreach_piece(const std::function<void(isl::set, isl::multi_aff)> &fn) const
14279 return isl::pw_multi_aff(*this).foreach_piece(fn);
14282 isl::multi_aff multi_aff::gist(isl::set context) const
14294 isl::union_pw_multi_aff multi_aff::gist(const isl::union_set &context) const
14298 return isl::pw_multi_aff(*this).gist(context);
14301 isl::multi_aff multi_aff::gist(const isl::basic_set &context) const
14305 return this->gist(isl::set(context));
14308 isl::multi_aff multi_aff::gist(const isl::point &context) const
14312 return this->gist(isl::set(context));
14315 isl::multi_aff multi_aff::gist_params(isl::set context) const
14339 isl::multi_aff multi_aff::identity() const
14351 isl::multi_aff multi_aff::identity_on_domain(isl::space space)
14363 isl::multi_aff multi_aff::insert_domain(isl::space domain) const
14375 isl::pw_multi_aff multi_aff::intersect_domain(const isl::set &set) const
14379 return isl::pw_multi_aff(*this).intersect_domain(set);
14382 isl::union_pw_multi_aff multi_aff::intersect_domain(const isl::space &space) const
14386 return isl::pw_multi_aff(*this).intersect_domain(space);
14389 isl::union_pw_multi_aff multi_aff::intersect_domain(const isl::union_set &uset) const
14393 return isl::pw_multi_aff(*this).intersect_domain(uset);
14396 isl::union_pw_multi_aff multi_aff::intersect_domain_wrapped_domain(const isl::union_set &uset) const
14400 return isl::pw_multi_aff(*this).intersect_domain_wrapped_domain(uset);
14403 isl::union_pw_multi_aff multi_aff::intersect_domain_wrapped_range(const isl::union_set &uset) const
14407 return isl::pw_multi_aff(*this).intersect_domain_wrapped_range(uset);
14410 isl::pw_multi_aff multi_aff::intersect_params(const isl::set &set) const
14414 return isl::pw_multi_aff(*this).intersect_params(set);
14441 bool multi_aff::involves_param(const isl::id &id) const
14445 return isl::pw_multi_aff(*this).involves_param(id);
14452 return this->involves_param(isl::id(ctx(), id));
14455 bool multi_aff::involves_param(const isl::id_list &list) const
14459 return isl::pw_multi_aff(*this).involves_param(list);
14466 return isl::pw_multi_aff(*this).isa_multi_aff();
14473 return isl::pw_multi_aff(*this).isa_pw_multi_aff();
14476 isl::aff_list multi_aff::list() const
14488 isl::aff_list multi_aff::get_list() const
14493 isl::multi_pw_aff multi_aff::max(const isl::multi_pw_aff &multi2) const
14497 return isl::pw_multi_aff(*this).max(multi2);
14500 isl::multi_val multi_aff::max_multi_val() const
14504 return isl::pw_multi_aff(*this).max_multi_val();
14507 isl::multi_pw_aff multi_aff::min(const isl::multi_pw_aff &multi2) const
14511 return isl::pw_multi_aff(*this).min(multi2);
14514 isl::multi_val multi_aff::min_multi_val() const
14518 return isl::pw_multi_aff(*this).min_multi_val();
14521 isl::multi_aff multi_aff::multi_val_on_domain(isl::space space, isl::multi_val mv)
14537 return isl::pw_multi_aff(*this).n_piece();
14540 isl::multi_aff multi_aff::neg() const
14556 return isl::pw_multi_aff(*this).plain_is_empty();
14559 bool multi_aff::plain_is_equal(const isl::multi_aff &multi2) const
14571 bool multi_aff::plain_is_equal(const isl::multi_pw_aff &multi2) const
14575 return isl::pw_multi_aff(*this).plain_is_equal(multi2);
14578 bool multi_aff::plain_is_equal(const isl::multi_union_pw_aff &multi2) const
14582 return isl::pw_multi_aff(*this).plain_is_equal(multi2);
14585 bool multi_aff::plain_is_equal(const isl::pw_multi_aff &pma2) const
14589 return isl::pw_multi_aff(*this).plain_is_equal(pma2);
14592 bool multi_aff::plain_is_equal(const isl::union_pw_multi_aff &upma2) const
14596 return isl::pw_multi_aff(*this).plain_is_equal(upma2);
14599 bool multi_aff::plain_is_equal(const isl::aff &multi2) const
14603 return this->plain_is_equal(isl::multi_aff(multi2));
14606 isl::pw_multi_aff multi_aff::preimage_domain_wrapped_domain(const isl::pw_multi_aff &pma2) const
14610 return isl::pw_multi_aff(*this).preimage_domain_wrapped_domain(pma2);
14613 isl::union_pw_multi_aff multi_aff::preimage_domain_wrapped_domain(const isl::union_pw_multi_aff &upma2) const
14617 return isl::pw_multi_aff(*this).preimage_domain_wrapped_domain(upma2);
14620 isl::multi_aff multi_aff::product(isl::multi_aff multi2) const
14632 isl::multi_pw_aff multi_aff::product(const isl::multi_pw_aff &multi2) const
14636 return isl::pw_multi_aff(*this).product(multi2);
14639 isl::pw_multi_aff multi_aff::product(const isl::pw_multi_aff &pma2) const
14643 return isl::pw_multi_aff(*this).product(pma2);
14646 isl::multi_aff multi_aff::product(const isl::aff &multi2) const
14650 return this->product(isl::multi_aff(multi2));
14653 isl::multi_aff multi_aff::pullback(isl::multi_aff ma2) const
14665 isl::multi_pw_aff multi_aff::pullback(const isl::multi_pw_aff &mpa2) const
14669 return isl::pw_multi_aff(*this).pullback(mpa2);
14672 isl::pw_multi_aff multi_aff::pullback(const isl::pw_multi_aff &pma2) const
14676 return isl::pw_multi_aff(*this).pullback(pma2);
14679 isl::union_pw_multi_aff multi_aff::pullback(const isl::union_pw_multi_aff &upma2) const
14683 return isl::pw_multi_aff(*this).pullback(upma2);
14686 isl::multi_aff multi_aff::pullback(const isl::aff &ma2) const
14690 return this->pullback(isl::multi_aff(ma2));
14693 isl::pw_multi_aff_list multi_aff::pw_multi_aff_list() const
14697 return isl::pw_multi_aff(*this).pw_multi_aff_list();
14700 isl::pw_multi_aff multi_aff::range_factor_domain() const
14704 return isl::pw_multi_aff(*this).range_factor_domain();
14707 isl::pw_multi_aff multi_aff::range_factor_range() const
14711 return isl::pw_multi_aff(*this).range_factor_range();
14714 isl::multi_aff multi_aff::range_map(isl::space space)
14726 isl::multi_aff multi_aff::range_product(isl::multi_aff multi2) const
14738 isl::multi_pw_aff multi_aff::range_product(const isl::multi_pw_aff &multi2) const
14742 return isl::pw_multi_aff(*this).range_product(multi2);
14745 isl::multi_union_pw_aff multi_aff::range_product(const isl::multi_union_pw_aff &multi2) const
14749 return isl::pw_multi_aff(*this).range_product(multi2);
14752 isl::pw_multi_aff multi_aff::range_product(const isl::pw_multi_aff &pma2) const
14756 return isl::pw_multi_aff(*this).range_product(pma2);
14759 isl::union_pw_multi_aff multi_aff::range_product(const isl::union_pw_multi_aff &upma2) const
14763 return isl::pw_multi_aff(*this).range_product(upma2);
14766 isl::multi_aff multi_aff::range_product(const isl::aff &multi2) const
14770 return this->range_product(isl::multi_aff(multi2));
14773 isl::id multi_aff::range_tuple_id() const
14785 isl::id multi_aff::get_range_tuple_id() const
14790 isl::multi_aff multi_aff::reset_range_tuple_id() const
14802 isl::multi_aff multi_aff::scale(isl::multi_val mv) const
14814 isl::multi_aff multi_aff::scale(isl::val v) const
14826 isl::multi_aff multi_aff::scale(long v) const
14830 return this->scale(isl::val(ctx(), v));
14833 isl::multi_aff multi_aff::scale_down(isl::multi_val mv) const
14845 isl::multi_aff multi_aff::scale_down(isl::val v) const
14857 isl::multi_aff multi_aff::scale_down(long v) const
14861 return this->scale_down(isl::val(ctx(), v));
14864 isl::multi_aff multi_aff::set_at(int pos, isl::aff el) const
14876 isl::multi_pw_aff multi_aff::set_at(int pos, const isl::pw_aff &el) const
14880 return isl::pw_multi_aff(*this).set_at(pos, el);
14883 isl::multi_union_pw_aff multi_aff::set_at(int pos, const isl::union_pw_aff &el) const
14887 return isl::pw_multi_aff(*this).set_at(pos, el);
14890 isl::multi_aff multi_aff::set_range_tuple(isl::id id) const
14902 isl::multi_aff multi_aff::set_range_tuple(const std::string &id) const
14906 return this->set_range_tuple(isl::id(ctx(), id));
14921 isl::space multi_aff::space() const
14933 isl::space multi_aff::get_space() const
14938 isl::multi_aff multi_aff::sub(isl::multi_aff multi2) const
14950 isl::multi_pw_aff multi_aff::sub(const isl::multi_pw_aff &multi2) const
14954 return isl::pw_multi_aff(*this).sub(multi2);
14957 isl::multi_union_pw_aff multi_aff::sub(const isl::multi_union_pw_aff &multi2) const
14961 return isl::pw_multi_aff(*this).sub(multi2);
14964 isl::pw_multi_aff multi_aff::sub(const isl::pw_multi_aff &pma2) const
14968 return isl::pw_multi_aff(*this).sub(pma2);
14971 isl::union_pw_multi_aff multi_aff::sub(const isl::union_pw_multi_aff &upma2) const
14975 return isl::pw_multi_aff(*this).sub(upma2);
14978 isl::multi_aff multi_aff::sub(const isl::aff &multi2) const
14982 return this->sub(isl::multi_aff(multi2));
14985 isl::pw_multi_aff multi_aff::subtract_domain(const isl::set &set) const
14989 return isl::pw_multi_aff(*this).subtract_domain(set);
14992 isl::union_pw_multi_aff multi_aff::subtract_domain(const isl::space &space) const
14996 return isl::pw_multi_aff(*this).subtract_domain(space);
14999 isl::union_pw_multi_aff multi_aff::subtract_domain(const isl::union_set &uset) const
15003 return isl::pw_multi_aff(*this).subtract_domain(uset);
15006 isl::pw_multi_aff_list multi_aff::to_list() const
15010 return isl::pw_multi_aff(*this).to_list();
15013 isl::multi_pw_aff multi_aff::to_multi_pw_aff() const
15025 isl::multi_union_pw_aff multi_aff::to_multi_union_pw_aff() const
15037 isl::pw_multi_aff multi_aff::to_pw_multi_aff() const
15049 isl::union_pw_multi_aff multi_aff::to_union_pw_multi_aff() const
15053 return isl::pw_multi_aff(*this).to_union_pw_multi_aff();
15056 isl::multi_aff multi_aff::unbind_params_insert_domain(isl::multi_id domain) const
15068 isl::multi_pw_aff multi_aff::union_add(const isl::multi_pw_aff &mpa2) const
15072 return isl::pw_multi_aff(*this).union_add(mpa2);
15075 isl::multi_union_pw_aff multi_aff::union_add(const isl::multi_union_pw_aff &mupa2) const
15079 return isl::pw_multi_aff(*this).union_add(mupa2);
15082 isl::pw_multi_aff multi_aff::union_add(const isl::pw_multi_aff &pma2) const
15086 return isl::pw_multi_aff(*this).union_add(pma2);
15089 isl::union_pw_multi_aff multi_aff::union_add(const isl::union_pw_multi_aff &upma2) const
15093 return isl::pw_multi_aff(*this).union_add(upma2);
15096 isl::multi_aff multi_aff::zero(isl::space space)
15122 // implementations for isl::multi_id
15157 multi_id::multi_id(isl::space space, isl::id_list list)
15169 multi_id::multi_id(isl::ctx ctx, const std::string &str)
15207 isl::ctx multi_id::ctx() const {
15208 return isl::ctx(isl_multi_id_get_ctx(ptr));
15211 isl::id multi_id::at(int pos) const
15223 isl::id multi_id::get_at(int pos) const
15228 isl::multi_id multi_id::flat_range_product(isl::multi_id multi2) const
15240 isl::id_list multi_id::list() const
15252 isl::id_list multi_id::get_list() const
15257 bool multi_id::plain_is_equal(const isl::multi_id &multi2) const
15269 isl::multi_id multi_id::range_product(isl::multi_id multi2) const
15281 isl::multi_id multi_id::set_at(int pos, isl::id el) const
15293 isl::multi_id multi_id::set_at(int pos, const std::string &el) const
15297 return this->set_at(pos, isl::id(ctx(), el));
15312 isl::space multi_id::space() const
15324 isl::space multi_id::get_space() const
15343 // implementations for isl::multi_pw_aff
15378 multi_pw_aff::multi_pw_aff(isl::aff aff)
15390 multi_pw_aff::multi_pw_aff(isl::multi_aff ma)
15402 multi_pw_aff::multi_pw_aff(isl::pw_aff pa)
15414 multi_pw_aff::multi_pw_aff(isl::space space, isl::pw_aff_list list)
15426 multi_pw_aff::multi_pw_aff(isl::pw_multi_aff pma)
15438 multi_pw_aff::multi_pw_aff(isl::ctx ctx, const std::string &str)
15476 isl::ctx multi_pw_aff::ctx() const {
15477 return isl::ctx(isl_multi_pw_aff_get_ctx(ptr));
15480 isl::multi_pw_aff multi_pw_aff::add(isl::multi_pw_aff multi2) const
15492 isl::multi_union_pw_aff multi_pw_aff::add(const isl::multi_union_pw_aff &multi2) const
15496 return isl::multi_union_pw_aff(*this).add(multi2);
15499 isl::multi_pw_aff multi_pw_aff::add(const isl::aff &multi2) const
15503 return this->add(isl::multi_pw_aff(multi2));
15506 isl::multi_pw_aff multi_pw_aff::add(const isl::multi_aff &multi2) const
15510 return this->add(isl::multi_pw_aff(multi2));
15513 isl::multi_pw_aff multi_pw_aff::add(const isl::pw_aff &multi2) const
15517 return this->add(isl::multi_pw_aff(multi2));
15520 isl::multi_pw_aff multi_pw_aff::add(const isl::pw_multi_aff &multi2) const
15524 return this->add(isl::multi_pw_aff(multi2));
15527 isl::multi_pw_aff multi_pw_aff::add_constant(isl::multi_val mv) const
15539 isl::multi_pw_aff multi_pw_aff::add_constant(isl::val v) const
15551 isl::multi_pw_aff multi_pw_aff::add_constant(long v) const
15555 return this->add_constant(isl::val(ctx(), v));
15558 isl::map multi_pw_aff::as_map() const
15570 isl::multi_aff multi_pw_aff::as_multi_aff() const
15582 isl::set multi_pw_aff::as_set() const
15594 isl::pw_aff multi_pw_aff::at(int pos) const
15606 isl::pw_aff multi_pw_aff::get_at(int pos) const
15611 isl::set multi_pw_aff::bind(isl::multi_id tuple) const
15623 isl::multi_pw_aff multi_pw_aff::bind_domain(isl::multi_id tuple) const
15635 isl::multi_pw_aff multi_pw_aff::bind_domain_wrapped_domain(isl::multi_id tuple) const
15647 isl::multi_pw_aff multi_pw_aff::coalesce() const
15659 isl::set multi_pw_aff::domain() const
15671 isl::multi_pw_aff multi_pw_aff::domain_reverse() const
15683 isl::multi_pw_aff multi_pw_aff::flat_range_product(isl::multi_pw_aff multi2) const
15695 isl::multi_union_pw_aff multi_pw_aff::flat_range_product(const isl::multi_union_pw_aff &multi2) const
15699 return isl::multi_union_pw_aff(*this).flat_range_product(multi2);
15702 isl::multi_pw_aff multi_pw_aff::flat_range_product(const isl::aff &multi2) const
15706 return this->flat_range_product(isl::multi_pw_aff(multi2));
15709 isl::multi_pw_aff multi_pw_aff::flat_range_product(const isl::multi_aff &multi2) const
15713 return this->flat_range_product(isl::multi_pw_aff(multi2));
15716 isl::multi_pw_aff multi_pw_aff::flat_range_product(const isl::pw_aff &multi2) const
15720 return this->flat_range_product(isl::multi_pw_aff(multi2));
15723 isl::multi_pw_aff multi_pw_aff::flat_range_product(const isl::pw_multi_aff &multi2) const
15727 return this->flat_range_product(isl::multi_pw_aff(multi2));
15730 isl::multi_pw_aff multi_pw_aff::gist(isl::set set) const
15742 isl::multi_union_pw_aff multi_pw_aff::gist(const isl::union_set &context) const
15746 return isl::multi_union_pw_aff(*this).gist(context);
15749 isl::multi_pw_aff multi_pw_aff::gist(const isl::basic_set &set) const
15753 return this->gist(isl::set(set));
15756 isl::multi_pw_aff multi_pw_aff::gist(const isl::point &set) const
15760 return this->gist(isl::set(set));
15763 isl::multi_pw_aff multi_pw_aff::gist_params(isl::set set) const
15787 isl::multi_pw_aff multi_pw_aff::identity() const
15799 isl::multi_pw_aff multi_pw_aff::identity_on_domain(isl::space space)
15811 isl::multi_pw_aff multi_pw_aff::insert_domain(isl::space domain) const
15823 isl::multi_pw_aff multi_pw_aff::intersect_domain(isl::set domain) const
15835 isl::multi_union_pw_aff multi_pw_aff::intersect_domain(const isl::union_set &uset) const
15839 return isl::multi_union_pw_aff(*this).intersect_domain(uset);
15842 isl::multi_pw_aff multi_pw_aff::intersect_domain(const isl::basic_set &domain) const
15846 return this->intersect_domain(isl::set(domain));
15849 isl::multi_pw_aff multi_pw_aff::intersect_domain(const isl::point &domain) const
15853 return this->intersect_domain(isl::set(domain));
15856 isl::multi_pw_aff multi_pw_aff::intersect_params(isl::set set) const
15880 bool multi_pw_aff::involves_param(const isl::id &id) const
15896 return this->involves_param(isl::id(ctx(), id));
15899 bool multi_pw_aff::involves_param(const isl::id_list &list) const
15923 isl::pw_aff_list multi_pw_aff::list() const
15935 isl::pw_aff_list multi_pw_aff::get_list() const
15940 isl::multi_pw_aff multi_pw_aff::max(isl::multi_pw_aff multi2) const
15952 isl::multi_val multi_pw_aff::max_multi_val() const
15964 isl::multi_pw_aff multi_pw_aff::min(isl::multi_pw_aff multi2) const
15976 isl::multi_val multi_pw_aff::min_multi_val() const
15988 isl::multi_pw_aff multi_pw_aff::neg() const
16000 bool multi_pw_aff::plain_is_equal(const isl::multi_pw_aff &multi2) const
16012 bool multi_pw_aff::plain_is_equal(const isl::multi_union_pw_aff &multi2) const
16016 return isl::multi_union_pw_aff(*this).plain_is_equal(multi2);
16019 bool multi_pw_aff::plain_is_equal(const isl::aff &multi2) const
16023 return this->plain_is_equal(isl::multi_pw_aff(multi2));
16026 bool multi_pw_aff::plain_is_equal(const isl::multi_aff &multi2) const
16030 return this->plain_is_equal(isl::multi_pw_aff(multi2));
16033 bool multi_pw_aff::plain_is_equal(const isl::pw_aff &multi2) const
16037 return this->plain_is_equal(isl::multi_pw_aff(multi2));
16040 bool multi_pw_aff::plain_is_equal(const isl::pw_multi_aff &multi2) const
16044 return this->plain_is_equal(isl::multi_pw_aff(multi2));
16047 isl::multi_pw_aff multi_pw_aff::product(isl::multi_pw_aff multi2) const
16059 isl::multi_pw_aff multi_pw_aff::pullback(isl::multi_aff ma) const
16071 isl::multi_pw_aff multi_pw_aff::pullback(isl::multi_pw_aff mpa2) const
16083 isl::multi_pw_aff multi_pw_aff::pullback(isl::pw_multi_aff pma) const
16095 isl::multi_union_pw_aff multi_pw_aff::pullback(const isl::union_pw_multi_aff &upma) const
16099 return isl::multi_union_pw_aff(*this).pullback(upma);
16102 isl::multi_pw_aff multi_pw_aff::range_product(isl::multi_pw_aff multi2) const
16114 isl::multi_union_pw_aff multi_pw_aff::range_product(const isl::multi_union_pw_aff &multi2) const
16118 return isl::multi_union_pw_aff(*this).range_product(multi2);
16121 isl::multi_pw_aff multi_pw_aff::range_product(const isl::aff &multi2) const
16125 return this->range_product(isl::multi_pw_aff(multi2));
16128 isl::multi_pw_aff multi_pw_aff::range_product(const isl::multi_aff &multi2) const
16132 return this->range_product(isl::multi_pw_aff(multi2));
16135 isl::multi_pw_aff multi_pw_aff::range_product(const isl::pw_aff &multi2) const
16139 return this->range_product(isl::multi_pw_aff(multi2));
16142 isl::multi_pw_aff multi_pw_aff::range_product(const isl::pw_multi_aff &multi2) const
16146 return this->range_product(isl::multi_pw_aff(multi2));
16149 isl::id multi_pw_aff::range_tuple_id() const
16161 isl::id multi_pw_aff::get_range_tuple_id() const
16166 isl::multi_pw_aff multi_pw_aff::reset_range_tuple_id() const
16178 isl::multi_pw_aff multi_pw_aff::scale(isl::multi_val mv) const
16190 isl::multi_pw_aff multi_pw_aff::scale(isl::val v) const
16202 isl::multi_pw_aff multi_pw_aff::scale(long v) const
16206 return this->scale(isl::val(ctx(), v));
16209 isl::multi_pw_aff multi_pw_aff::scale_down(isl::multi_val mv) const
16221 isl::multi_pw_aff multi_pw_aff::scale_down(isl::val v) const
16233 isl::multi_pw_aff multi_pw_aff::scale_down(long v) const
16237 return this->scale_down(isl::val(ctx(), v));
16240 isl::multi_pw_aff multi_pw_aff::set_at(int pos, isl::pw_aff el) const
16252 isl::multi_union_pw_aff multi_pw_aff::set_at(int pos, const isl::union_pw_aff &el) const
16256 return isl::multi_union_pw_aff(*this).set_at(pos, el);
16259 isl::multi_pw_aff multi_pw_aff::set_range_tuple(isl::id id) const
16271 isl::multi_pw_aff multi_pw_aff::set_range_tuple(const std::string &id) const
16275 return this->set_range_tuple(isl::id(ctx(), id));
16290 isl::space multi_pw_aff::space() const
16302 isl::space multi_pw_aff::get_space() const
16307 isl::multi_pw_aff multi_pw_aff::sub(isl::multi_pw_aff multi2) const
16319 isl::multi_union_pw_aff multi_pw_aff::sub(const isl::multi_union_pw_aff &multi2) const
16323 return isl::multi_union_pw_aff(*this).sub(multi2);
16326 isl::multi_pw_aff multi_pw_aff::sub(const isl::aff &multi2) const
16330 return this->sub(isl::multi_pw_aff(multi2));
16333 isl::multi_pw_aff multi_pw_aff::sub(const isl::multi_aff &multi2) const
16337 return this->sub(isl::multi_pw_aff(multi2));
16340 isl::multi_pw_aff multi_pw_aff::sub(const isl::pw_aff &multi2) const
16344 return this->sub(isl::multi_pw_aff(multi2));
16347 isl::multi_pw_aff multi_pw_aff::sub(const isl::pw_multi_aff &multi2) const
16351 return this->sub(isl::multi_pw_aff(multi2));
16354 isl::multi_pw_aff multi_pw_aff::unbind_params_insert_domain(isl::multi_id domain) const
16366 isl::multi_pw_aff multi_pw_aff::union_add(isl::multi_pw_aff mpa2) const
16378 isl::multi_union_pw_aff multi_pw_aff::union_add(const isl::multi_union_pw_aff &mupa2) const
16382 return isl::multi_union_pw_aff(*this).union_add(mupa2);
16385 isl::multi_pw_aff multi_pw_aff::union_add(const isl::aff &mpa2) const
16389 return this->union_add(isl::multi_pw_aff(mpa2));
16392 isl::multi_pw_aff multi_pw_aff::union_add(const isl::multi_aff &mpa2) const
16396 return this->union_add(isl::multi_pw_aff(mpa2));
16399 isl::multi_pw_aff multi_pw_aff::union_add(const isl::pw_aff &mpa2) const
16403 return this->union_add(isl::multi_pw_aff(mpa2));
16406 isl::multi_pw_aff multi_pw_aff::union_add(const isl::pw_multi_aff &mpa2) const
16410 return this->union_add(isl::multi_pw_aff(mpa2));
16413 isl::multi_pw_aff multi_pw_aff::zero(isl::space space)
16439 // implementations for isl::multi_union_pw_aff
16474 multi_union_pw_aff::multi_union_pw_aff(isl::multi_pw_aff mpa)
16486 multi_union_pw_aff::multi_union_pw_aff(isl::union_pw_aff upa)
16498 multi_union_pw_aff::multi_union_pw_aff(isl::space space, isl::union_pw_aff_list list)
16510 multi_union_pw_aff::multi_union_pw_aff(isl::ctx ctx, const std::string &str)
16548 isl::ctx multi_union_pw_aff::ctx() const {
16549 return isl::ctx(isl_multi_union_pw_aff_get_ctx(ptr));
16552 isl::multi_union_pw_aff multi_union_pw_aff::add(isl::multi_union_pw_aff multi2) const
16564 isl::union_pw_aff multi_union_pw_aff::at(int pos) const
16576 isl::union_pw_aff multi_union_pw_aff::get_at(int pos) const
16581 isl::union_set multi_union_pw_aff::bind(isl::multi_id tuple) const
16593 isl::multi_union_pw_aff multi_union_pw_aff::coalesce() const
16605 isl::union_set multi_union_pw_aff::domain() const
16617 isl::multi_union_pw_aff multi_union_pw_aff::flat_range_product(isl::multi_union_pw_aff multi2) const
16629 isl::multi_union_pw_aff multi_union_pw_aff::gist(isl::union_set context) const
16641 isl::multi_union_pw_aff multi_union_pw_aff::gist_params(isl::set context) const
16665 isl::multi_union_pw_aff multi_union_pw_aff::intersect_domain(isl::union_set uset) const
16677 isl::multi_union_pw_aff multi_union_pw_aff::intersect_params(isl::set params) const
16701 isl::union_pw_aff_list multi_union_pw_aff::list() const
16713 isl::union_pw_aff_list multi_union_pw_aff::get_list() const
16718 isl::multi_union_pw_aff multi_union_pw_aff::neg() const
16730 bool multi_union_pw_aff::plain_is_equal(const isl::multi_union_pw_aff &multi2) const
16742 isl::multi_union_pw_aff multi_union_pw_aff::pullback(isl::union_pw_multi_aff upma) const
16754 isl::multi_union_pw_aff multi_union_pw_aff::range_product(isl::multi_union_pw_aff multi2) const
16766 isl::id multi_union_pw_aff::range_tuple_id() const
16778 isl::id multi_union_pw_aff::get_range_tuple_id() const
16783 isl::multi_union_pw_aff multi_union_pw_aff::reset_range_tuple_id() const
16795 isl::multi_union_pw_aff multi_union_pw_aff::scale(isl::multi_val mv) const
16807 isl::multi_union_pw_aff multi_union_pw_aff::scale(isl::val v) const
16819 isl::multi_union_pw_aff multi_union_pw_aff::scale(long v) const
16823 return this->scale(isl::val(ctx(), v));
16826 isl::multi_union_pw_aff multi_union_pw_aff::scale_down(isl::multi_val mv) const
16838 isl::multi_union_pw_aff multi_union_pw_aff::scale_down(isl::val v) const
16850 isl::multi_union_pw_aff multi_union_pw_aff::scale_down(long v) const
16854 return this->scale_down(isl::val(ctx(), v));
16857 isl::multi_union_pw_aff multi_union_pw_aff::set_at(int pos, isl::union_pw_aff el) const
16869 isl::multi_union_pw_aff multi_union_pw_aff::set_range_tuple(isl::id id) const
16881 isl::multi_union_pw_aff multi_union_pw_aff::set_range_tuple(const std::string &id) const
16885 return this->set_range_tuple(isl::id(ctx(), id));
16900 isl::space multi_union_pw_aff::space() const
16912 isl::space multi_union_pw_aff::get_space() const
16917 isl::multi_union_pw_aff multi_union_pw_aff::sub(isl::multi_union_pw_aff multi2) const
16929 isl::multi_union_pw_aff multi_union_pw_aff::union_add(isl::multi_union_pw_aff mupa2) const
16941 isl::multi_union_pw_aff multi_union_pw_aff::zero(isl::space space)
16967 // implementations for isl::multi_val
17002 multi_val::multi_val(isl::space space, isl::val_list list)
17014 multi_val::multi_val(isl::ctx ctx, const std::string &str)
17052 isl::ctx multi_val::ctx() const {
17053 return isl::ctx(isl_multi_val_get_ctx(ptr));
17056 isl::multi_val multi_val::add(isl::multi_val multi2) const
17068 isl::multi_val multi_val::add(isl::val v) const
17080 isl::multi_val multi_val::add(long v) const
17084 return this->add(isl::val(ctx(), v));
17087 isl::val multi_val::at(int pos) const
17099 isl::val multi_val::get_at(int pos) const
17104 isl::multi_val multi_val::flat_range_product(isl::multi_val multi2) const
17140 isl::val_list multi_val::list() const
17152 isl::val_list multi_val::get_list() const
17157 isl::multi_val multi_val::max(isl::multi_val multi2) const
17169 isl::multi_val multi_val::min(isl::multi_val multi2) const
17181 isl::multi_val multi_val::neg() const
17193 bool multi_val::plain_is_equal(const isl::multi_val &multi2) const
17205 isl::multi_val multi_val::product(isl::multi_val multi2) const
17217 isl::multi_val multi_val::range_product(isl::multi_val multi2) const
17229 isl::id multi_val::range_tuple_id() const
17241 isl::id multi_val::get_range_tuple_id() const
17246 isl::multi_val multi_val::reset_range_tuple_id() const
17258 isl::multi_val multi_val::scale(isl::multi_val mv) const
17270 isl::multi_val multi_val::scale(isl::val v) const
17282 isl::multi_val multi_val::scale(long v) const
17286 return this->scale(isl::val(ctx(), v));
17289 isl::multi_val multi_val::scale_down(isl::multi_val mv) const
17301 isl::multi_val multi_val::scale_down(isl::val v) const
17313 isl::multi_val multi_val::scale_down(long v) const
17317 return this->scale_down(isl::val(ctx(), v));
17320 isl::multi_val multi_val::set_at(int pos, isl::val el) const
17332 isl::multi_val multi_val::set_at(int pos, long el) const
17336 return this->set_at(pos, isl::val(ctx(), el));
17339 isl::multi_val multi_val::set_range_tuple(isl::id id) const
17351 isl::multi_val multi_val::set_range_tuple(const std::string &id) const
17355 return this->set_range_tuple(isl::id(ctx(), id));
17370 isl::space multi_val::space() const
17382 isl::space multi_val::get_space() const
17387 isl::multi_val multi_val::sub(isl::multi_val multi2) const
17399 isl::multi_val multi_val::zero(isl::space space)
17425 // implementations for isl::point
17488 isl::ctx point::ctx() const {
17489 return isl::ctx(isl_point_get_ctx(ptr));
17492 isl::basic_set point::affine_hull() const
17496 return isl::basic_set(*this).affine_hull();
17499 isl::basic_set point::apply(const isl::basic_map &bmap) const
17503 return isl::basic_set(*this).apply(bmap);
17506 isl::set point::apply(const isl::map &map) const
17510 return isl::basic_set(*this).apply(map);
17513 isl::union_set point::apply(const isl::union_map &umap) const
17517 return isl::basic_set(*this).apply(umap);
17520 isl::pw_multi_aff point::as_pw_multi_aff() const
17524 return isl::basic_set(*this).as_pw_multi_aff();
17527 isl::set point::as_set() const
17531 return isl::basic_set(*this).as_set();
17534 isl::set point::bind(const isl::multi_id &tuple) const
17538 return isl::basic_set(*this).bind(tuple);
17541 isl::set point::coalesce() const
17545 return isl::basic_set(*this).coalesce();
17548 isl::set point::complement() const
17552 return isl::basic_set(*this).complement();
17555 isl::union_set point::compute_divs() const
17559 return isl::basic_set(*this).compute_divs();
17562 isl::basic_set point::detect_equalities() const
17566 return isl::basic_set(*this).detect_equalities();
17569 isl::val point::dim_max_val(int pos) const
17573 return isl::basic_set(*this).dim_max_val(pos);
17576 isl::val point::dim_min_val(int pos) const
17580 return isl::basic_set(*this).dim_min_val(pos);
17583 isl::set point::drop_unused_params() const
17587 return isl::basic_set(*this).drop_unused_params();
17590 bool point::every_set(const std::function<bool(isl::set)> &test) const
17594 return isl::basic_set(*this).every_set(test);
17597 isl::set point::extract_set(const isl::space &space) const
17601 return isl::basic_set(*this).extract_set(space);
17604 isl::basic_set point::flatten() const
17608 return isl::basic_set(*this).flatten();
17611 void point::foreach_basic_set(const std::function<void(isl::basic_set)> &fn) const
17615 return isl::basic_set(*this).foreach_basic_set(fn);
17618 void point::foreach_point(const std::function<void(isl::point)> &fn) const
17622 return isl::basic_set(*this).foreach_point(fn);
17625 void point::foreach_set(const std::function<void(isl::set)> &fn) const
17629 return isl::basic_set(*this).foreach_set(fn);
17632 isl::basic_set point::gist(const isl::basic_set &context) const
17636 return isl::basic_set(*this).gist(context);
17639 isl::set point::gist(const isl::set &context) const
17643 return isl::basic_set(*this).gist(context);
17646 isl::union_set point::gist(const isl::union_set &context) const
17650 return isl::basic_set(*this).gist(context);
17653 isl::set point::gist_params(const isl::set &context) const
17657 return isl::basic_set(*this).gist_params(context);
17660 isl::map point::identity() const
17664 return isl::basic_set(*this).identity();
17667 isl::pw_aff point::indicator_function() const
17671 return isl::basic_set(*this).indicator_function();
17674 isl::map point::insert_domain(const isl::space &domain) const
17678 return isl::basic_set(*this).insert_domain(domain);
17681 isl::basic_set point::intersect(const isl::basic_set &bset2) const
17685 return isl::basic_set(*this).intersect(bset2);
17688 isl::set point::intersect(const isl::set &set2) const
17692 return isl::basic_set(*this).intersect(set2);
17695 isl::union_set point::intersect(const isl::union_set &uset2) const
17699 return isl::basic_set(*this).intersect(uset2);
17702 isl::basic_set point::intersect_params(const isl::basic_set &bset2) const
17706 return isl::basic_set(*this).intersect_params(bset2);
17709 isl::set point::intersect_params(const isl::set &params) const
17713 return isl::basic_set(*this).intersect_params(params);
17720 return isl::basic_set(*this).involves_locals();
17723 bool point::is_disjoint(const isl::set &set2) const
17727 return isl::basic_set(*this).is_disjoint(set2);
17730 bool point::is_disjoint(const isl::union_set &uset2) const
17734 return isl::basic_set(*this).is_disjoint(uset2);
17741 return isl::basic_set(*this).is_empty();
17744 bool point::is_equal(const isl::basic_set &bset2) const
17748 return isl::basic_set(*this).is_equal(bset2);
17751 bool point::is_equal(const isl::set &set2) const
17755 return isl::basic_set(*this).is_equal(set2);
17758 bool point::is_equal(const isl::union_set &uset2) const
17762 return isl::basic_set(*this).is_equal(uset2);
17769 return isl::basic_set(*this).is_singleton();
17772 bool point::is_strict_subset(const isl::set &set2) const
17776 return isl::basic_set(*this).is_strict_subset(set2);
17779 bool point::is_strict_subset(const isl::union_set &uset2) const
17783 return isl::basic_set(*this).is_strict_subset(uset2);
17786 bool point::is_subset(const isl::basic_set &bset2) const
17790 return isl::basic_set(*this).is_subset(bset2);
17793 bool point::is_subset(const isl::set &set2) const
17797 return isl::basic_set(*this).is_subset(set2);
17800 bool point::is_subset(const isl::union_set &uset2) const
17804 return isl::basic_set(*this).is_subset(uset2);
17811 return isl::basic_set(*this).is_wrapping();
17818 return isl::basic_set(*this).isa_set();
17821 isl::fixed_box point::lattice_tile() const
17825 return isl::basic_set(*this).lattice_tile();
17828 isl::set point::lexmax() const
17832 return isl::basic_set(*this).lexmax();
17835 isl::pw_multi_aff point::lexmax_pw_multi_aff() const
17839 return isl::basic_set(*this).lexmax_pw_multi_aff();
17842 isl::set point::lexmin() const
17846 return isl::basic_set(*this).lexmin();
17849 isl::pw_multi_aff point::lexmin_pw_multi_aff() const
17853 return isl::basic_set(*this).lexmin_pw_multi_aff();
17856 isl::set point::lower_bound(const isl::multi_pw_aff &lower) const
17860 return isl::basic_set(*this).lower_bound(lower);
17863 isl::set point::lower_bound(const isl::multi_val &lower) const
17867 return isl::basic_set(*this).lower_bound(lower);
17870 isl::multi_pw_aff point::max_multi_pw_aff() const
17874 return isl::basic_set(*this).max_multi_pw_aff();
17877 isl::val point::max_val(const isl::aff &obj) const
17881 return isl::basic_set(*this).max_val(obj);
17884 isl::multi_pw_aff point::min_multi_pw_aff() const
17888 return isl::basic_set(*this).min_multi_pw_aff();
17891 isl::val point::min_val(const isl::aff &obj) const
17895 return isl::basic_set(*this).min_val(obj);
17898 isl::multi_val point::multi_val() const
17910 isl::multi_val point::get_multi_val() const
17919 return isl::basic_set(*this).n_basic_set();
17922 isl::pw_aff point::param_pw_aff_on_domain(const isl::id &id) const
17926 return isl::basic_set(*this).param_pw_aff_on_domain(id);
17929 isl::pw_aff point::param_pw_aff_on_domain(const std::string &id) const
17933 return this->param_pw_aff_on_domain(isl::id(ctx(), id));
17936 isl::basic_set point::params() const
17940 return isl::basic_set(*this).params();
17943 isl::multi_val point::plain_multi_val_if_fixed() const
17947 return isl::basic_set(*this).plain_multi_val_if_fixed();
17950 isl::basic_set point::polyhedral_hull() const
17954 return isl::basic_set(*this).polyhedral_hull();
17957 isl::set point::preimage(const isl::multi_aff &ma) const
17961 return isl::basic_set(*this).preimage(ma);
17964 isl::set point::preimage(const isl::multi_pw_aff &mpa) const
17968 return isl::basic_set(*this).preimage(mpa);
17971 isl::set point::preimage(const isl::pw_multi_aff &pma) const
17975 return isl::basic_set(*this).preimage(pma);
17978 isl::union_set point::preimage(const isl::union_pw_multi_aff &upma) const
17982 return isl::basic_set(*this).preimage(upma);
17985 isl::set point::product(const isl::set &set2) const
17989 return isl::basic_set(*this).product(set2);
17992 isl::set point::project_out_all_params() const
17996 return isl::basic_set(*this).project_out_all_params();
17999 isl::set point::project_out_param(const isl::id &id) const
18003 return isl::basic_set(*this).project_out_param(id);
18006 isl::set point::project_out_param(const std::string &id) const
18010 return this->project_out_param(isl::id(ctx(), id));
18013 isl::set point::project_out_param(const isl::id_list &list) const
18017 return isl::basic_set(*this).project_out_param(list);
18020 isl::pw_aff point::pw_aff_on_domain(const isl::val &v) const
18024 return isl::basic_set(*this).pw_aff_on_domain(v);
18027 isl::pw_aff point::pw_aff_on_domain(long v) const
18031 return this->pw_aff_on_domain(isl::val(ctx(), v));
18034 isl::pw_multi_aff point::pw_multi_aff_on_domain(const isl::multi_val &mv) const
18038 return isl::basic_set(*this).pw_multi_aff_on_domain(mv);
18041 isl::basic_set point::sample() const
18045 return isl::basic_set(*this).sample();
18048 isl::point point::sample_point() const
18052 return isl::basic_set(*this).sample_point();
18055 isl::set_list point::set_list() const
18059 return isl::basic_set(*this).set_list();
18062 isl::fixed_box point::simple_fixed_box_hull() const
18066 return isl::basic_set(*this).simple_fixed_box_hull();
18069 isl::space point::space() const
18073 return isl::basic_set(*this).space();
18076 isl::val point::stride(int pos) const
18080 return isl::basic_set(*this).stride(pos);
18083 isl::set point::subtract(const isl::set &set2) const
18087 return isl::basic_set(*this).subtract(set2);
18090 isl::union_set point::subtract(const isl::union_set &uset2) const
18094 return isl::basic_set(*this).subtract(uset2);
18097 isl::set_list point::to_list() const
18101 return isl::basic_set(*this).to_list();
18104 isl::set point::to_set() const
18116 isl::union_set point::to_union_set() const
18120 return isl::basic_set(*this).to_union_set();
18123 isl::map point::translation() const
18127 return isl::basic_set(*this).translation();
18134 return isl::basic_set(*this).tuple_dim();
18137 isl::set point::unbind_params(const isl::multi_id &tuple) const
18141 return isl::basic_set(*this).unbind_params(tuple);
18144 isl::map point::unbind_params_insert_domain(const isl::multi_id &domain) const
18148 return isl::basic_set(*this).unbind_params_insert_domain(domain);
18151 isl::set point::unite(const isl::basic_set &bset2) const
18155 return isl::basic_set(*this).unite(bset2);
18158 isl::set point::unite(const isl::set &set2) const
18162 return isl::basic_set(*this).unite(set2);
18165 isl::union_set point::unite(const isl::union_set &uset2) const
18169 return isl::basic_set(*this).unite(uset2);
18172 isl::basic_set point::unshifted_simple_hull() const
18176 return isl::basic_set(*this).unshifted_simple_hull();
18179 isl::map point::unwrap() const
18183 return isl::basic_set(*this).unwrap();
18186 isl::set point::upper_bound(const isl::multi_pw_aff &upper) const
18190 return isl::basic_set(*this).upper_bound(upper);
18193 isl::set point::upper_bound(const isl::multi_val &upper) const
18197 return isl::basic_set(*this).upper_bound(upper);
18200 isl::set point::wrapped_reverse() const
18204 return isl::basic_set(*this).wrapped_reverse();
18221 // implementations for isl::pw_aff
18256 pw_aff::pw_aff(isl::aff aff)
18268 pw_aff::pw_aff(isl::ctx ctx, const std::string &str)
18306 isl::ctx pw_aff::ctx() const {
18307 return isl::ctx(isl_pw_aff_get_ctx(ptr));
18310 isl::multi_pw_aff pw_aff::add(const isl::multi_pw_aff &multi2) const
18314 return isl::pw_multi_aff(*this).add(multi2);
18317 isl::multi_union_pw_aff pw_aff::add(const isl::multi_union_pw_aff &multi2) const
18321 return isl::union_pw_aff(*this).add(multi2);
18324 isl::pw_aff pw_aff::add(isl::pw_aff pwaff2) const
18336 isl::pw_multi_aff pw_aff::add(const isl::pw_multi_aff &pma2) const
18340 return isl::pw_multi_aff(*this).add(pma2);
18343 isl::union_pw_aff pw_aff::add(const isl::union_pw_aff &upa2) const
18347 return isl::union_pw_aff(*this).add(upa2);
18350 isl::union_pw_multi_aff pw_aff::add(const isl::union_pw_multi_aff &upma2) const
18354 return isl::union_pw_aff(*this).add(upma2);
18357 isl::pw_aff pw_aff::add(const isl::aff &pwaff2) const
18361 return this->add(isl::pw_aff(pwaff2));
18364 isl::pw_aff pw_aff::add_constant(isl::val v) const
18376 isl::pw_aff pw_aff::add_constant(long v) const
18380 return this->add_constant(isl::val(ctx(), v));
18383 isl::pw_multi_aff pw_aff::add_constant(const isl::multi_val &mv) const
18387 return isl::pw_multi_aff(*this).add_constant(mv);
18390 isl::union_pw_multi_aff pw_aff::apply(const isl::union_pw_multi_aff &upma2) const
18394 return isl::union_pw_aff(*this).apply(upma2);
18397 isl::aff pw_aff::as_aff() const
18409 isl::map pw_aff::as_map() const
18421 isl::multi_aff pw_aff::as_multi_aff() const
18425 return isl::pw_multi_aff(*this).as_multi_aff();
18428 isl::multi_union_pw_aff pw_aff::as_multi_union_pw_aff() const
18432 return isl::union_pw_aff(*this).as_multi_union_pw_aff();
18435 isl::pw_multi_aff pw_aff::as_pw_multi_aff() const
18439 return isl::union_pw_aff(*this).as_pw_multi_aff();
18442 isl::set pw_aff::as_set() const
18446 return isl::pw_multi_aff(*this).as_set();
18449 isl::union_map pw_aff::as_union_map() const
18453 return isl::union_pw_aff(*this).as_union_map();
18456 isl::pw_aff pw_aff::at(int pos) const
18460 return isl::pw_multi_aff(*this).at(pos);
18463 isl::set pw_aff::bind(const isl::multi_id &tuple) const
18467 return isl::multi_pw_aff(*this).bind(tuple);
18470 isl::set pw_aff::bind(isl::id id) const
18482 isl::set pw_aff::bind(const std::string &id) const
18486 return this->bind(isl::id(ctx(), id));
18489 isl::pw_aff pw_aff::bind_domain(isl::multi_id tuple) const
18501 isl::pw_aff pw_aff::bind_domain_wrapped_domain(isl::multi_id tuple) const
18513 isl::pw_aff pw_aff::ceil() const
18525 isl::pw_aff pw_aff::coalesce() const
18537 isl::pw_aff pw_aff::cond(isl::pw_aff pwaff_true, isl::pw_aff pwaff_false) const
18549 isl::pw_aff pw_aff::div(isl::pw_aff pa2) const
18561 isl::set pw_aff::domain() const
18573 isl::pw_aff pw_aff::domain_reverse() const
18585 isl::pw_aff pw_aff::drop_unused_params() const
18597 isl::set pw_aff::eq_set(isl::pw_aff pwaff2) const
18609 isl::val pw_aff::eval(isl::point pnt) const
18621 isl::pw_multi_aff pw_aff::extract_pw_multi_aff(const isl::space &space) const
18625 return isl::union_pw_aff(*this).extract_pw_multi_aff(space);
18628 isl::multi_pw_aff pw_aff::flat_range_product(const isl::multi_pw_aff &multi2) const
18632 return isl::pw_multi_aff(*this).flat_range_product(multi2);
18635 isl::multi_union_pw_aff pw_aff::flat_range_product(const isl::multi_union_pw_aff &multi2) const
18639 return isl::union_pw_aff(*this).flat_range_product(multi2);
18642 isl::pw_multi_aff pw_aff::flat_range_product(const isl::pw_multi_aff &pma2) const
18646 return isl::pw_multi_aff(*this).flat_range_product(pma2);
18649 isl::union_pw_multi_aff pw_aff::flat_range_product(const isl::union_pw_multi_aff &upma2) const
18653 return isl::union_pw_aff(*this).flat_range_product(upma2);
18656 isl::pw_aff pw_aff::floor() const
18668 void pw_aff::foreach_piece(const std::function<void(isl::set, isl::multi_aff)> &fn) const
18672 return isl::pw_multi_aff(*this).foreach_piece(fn);
18675 isl::set pw_aff::ge_set(isl::pw_aff pwaff2) const
18687 isl::pw_aff pw_aff::gist(isl::set context) const
18699 isl::union_pw_aff pw_aff::gist(const isl::union_set &context) const
18703 return isl::union_pw_aff(*this).gist(context);
18706 isl::pw_aff pw_aff::gist(const isl::basic_set &context) const
18710 return this->gist(isl::set(context));
18713 isl::pw_aff pw_aff::gist(const isl::point &context) const
18717 return this->gist(isl::set(context));
18720 isl::pw_aff pw_aff::gist_params(isl::set context) const
18732 isl::set pw_aff::gt_set(isl::pw_aff pwaff2) const
18748 return isl::pw_multi_aff(*this).has_range_tuple_id();
18751 isl::multi_pw_aff pw_aff::identity() const
18755 return isl::pw_multi_aff(*this).identity();
18758 isl::pw_aff pw_aff::insert_domain(isl::space domain) const
18770 isl::pw_aff pw_aff::intersect_domain(isl::set set) const
18782 isl::union_pw_aff pw_aff::intersect_domain(const isl::space &space) const
18786 return isl::union_pw_aff(*this).intersect_domain(space);
18789 isl::union_pw_aff pw_aff::intersect_domain(const isl::union_set &uset) const
18793 return isl::union_pw_aff(*this).intersect_domain(uset);
18796 isl::pw_aff pw_aff::intersect_domain(const isl::basic_set &set) const
18800 return this->intersect_domain(isl::set(set));
18803 isl::pw_aff pw_aff::intersect_domain(const isl::point &set) const
18807 return this->intersect_domain(isl::set(set));
18810 isl::union_pw_aff pw_aff::intersect_domain_wrapped_domain(const isl::union_set &uset) const
18814 return isl::union_pw_aff(*this).intersect_domain_wrapped_domain(uset);
18817 isl::union_pw_aff pw_aff::intersect_domain_wrapped_range(const isl::union_set &uset) const
18821 return isl::union_pw_aff(*this).intersect_domain_wrapped_range(uset);
18824 isl::pw_aff pw_aff::intersect_params(isl::set set) const
18840 return isl::pw_multi_aff(*this).involves_locals();
18847 return isl::multi_pw_aff(*this).involves_nan();
18850 bool pw_aff::involves_param(const isl::id &id) const
18854 return isl::pw_multi_aff(*this).involves_param(id);
18861 return this->involves_param(isl::id(ctx(), id));
18864 bool pw_aff::involves_param(const isl::id_list &list) const
18868 return isl::pw_multi_aff(*this).involves_param(list);
18887 return isl::pw_multi_aff(*this).isa_multi_aff();
18894 return isl::union_pw_aff(*this).isa_pw_multi_aff();
18897 isl::set pw_aff::le_set(isl::pw_aff pwaff2) const
18909 isl::pw_aff_list pw_aff::list() const
18913 return isl::multi_pw_aff(*this).list();
18916 isl::set pw_aff::lt_set(isl::pw_aff pwaff2) const
18928 isl::multi_pw_aff pw_aff::max(const isl::multi_pw_aff &multi2) const
18932 return isl::pw_multi_aff(*this).max(multi2);
18935 isl::pw_aff pw_aff::max(isl::pw_aff pwaff2) const
18947 isl::pw_aff pw_aff::max(const isl::aff &pwaff2) const
18951 return this->max(isl::pw_aff(pwaff2));
18954 isl::multi_val pw_aff::max_multi_val() const
18958 return isl::pw_multi_aff(*this).max_multi_val();
18961 isl::val pw_aff::max_val() const
18973 isl::multi_pw_aff pw_aff::min(const isl::multi_pw_aff &multi2) const
18977 return isl::pw_multi_aff(*this).min(multi2);
18980 isl::pw_aff pw_aff::min(isl::pw_aff pwaff2) const
18992 isl::pw_aff pw_aff::min(const isl::aff &pwaff2) const
18996 return this->min(isl::pw_aff(pwaff2));
18999 isl::multi_val pw_aff::min_multi_val() const
19003 return isl::pw_multi_aff(*this).min_multi_val();
19006 isl::val pw_aff::min_val() const
19018 isl::pw_aff pw_aff::mod(isl::val mod) const
19030 isl::pw_aff pw_aff::mod(long mod) const
19034 return this->mod(isl::val(ctx(), mod));
19037 isl::pw_aff pw_aff::mul(isl::pw_aff pwaff2) const
19053 return isl::pw_multi_aff(*this).n_piece();
19056 isl::set pw_aff::ne_set(isl::pw_aff pwaff2) const
19068 isl::pw_aff pw_aff::neg() const
19080 isl::pw_aff pw_aff::param_on_domain(isl::set domain, isl::id id)
19092 isl::set pw_aff::params() const
19108 return isl::union_pw_aff(*this).plain_is_empty();
19111 bool pw_aff::plain_is_equal(const isl::multi_pw_aff &multi2) const
19115 return isl::pw_multi_aff(*this).plain_is_equal(multi2);
19118 bool pw_aff::plain_is_equal(const isl::multi_union_pw_aff &multi2) const
19122 return isl::union_pw_aff(*this).plain_is_equal(multi2);
19125 bool pw_aff::plain_is_equal(const isl::pw_aff &pwaff2) const
19137 bool pw_aff::plain_is_equal(const isl::pw_multi_aff &pma2) const
19141 return isl::pw_multi_aff(*this).plain_is_equal(pma2);
19144 bool pw_aff::plain_is_equal(const isl::union_pw_aff &upa2) const
19148 return isl::union_pw_aff(*this).plain_is_equal(upa2);
19151 bool pw_aff::plain_is_equal(const isl::union_pw_multi_aff &upma2) const
19155 return isl::union_pw_aff(*this).plain_is_equal(upma2);
19158 bool pw_aff::plain_is_equal(const isl::aff &pwaff2) const
19162 return this->plain_is_equal(isl::pw_aff(pwaff2));
19165 isl::pw_multi_aff pw_aff::preimage_domain_wrapped_domain(const isl::pw_multi_aff &pma2) const
19169 return isl::pw_multi_aff(*this).preimage_domain_wrapped_domain(pma2);
19172 isl::union_pw_multi_aff pw_aff::preimage_domain_wrapped_domain(const isl::union_pw_multi_aff &upma2) const
19176 return isl::union_pw_aff(*this).preimage_domain_wrapped_domain(upma2);
19179 isl::multi_pw_aff pw_aff::product(const isl::multi_pw_aff &multi2) const
19183 return isl::pw_multi_aff(*this).product(multi2);
19186 isl::pw_multi_aff pw_aff::product(const isl::pw_multi_aff &pma2) const
19190 return isl::pw_multi_aff(*this).product(pma2);
19193 isl::pw_aff pw_aff::pullback(isl::multi_aff ma) const
19205 isl::pw_aff pw_aff::pullback(isl::multi_pw_aff mpa) const
19217 isl::pw_aff pw_aff::pullback(isl::pw_multi_aff pma) const
19229 isl::union_pw_aff pw_aff::pullback(const isl::union_pw_multi_aff &upma) const
19233 return isl::union_pw_aff(*this).pullback(upma);
19236 isl::pw_multi_aff_list pw_aff::pw_multi_aff_list() const
19240 return isl::union_pw_aff(*this).pw_multi_aff_list();
19243 isl::pw_multi_aff pw_aff::range_factor_domain() const
19247 return isl::pw_multi_aff(*this).range_factor_domain();
19250 isl::pw_multi_aff pw_aff::range_factor_range() const
19254 return isl::pw_multi_aff(*this).range_factor_range();
19257 isl::multi_pw_aff pw_aff::range_product(const isl::multi_pw_aff &multi2) const
19261 return isl::pw_multi_aff(*this).range_product(multi2);
19264 isl::multi_union_pw_aff pw_aff::range_product(const isl::multi_union_pw_aff &multi2) const
19268 return isl::union_pw_aff(*this).range_product(multi2);
19271 isl::pw_multi_aff pw_aff::range_product(const isl::pw_multi_aff &pma2) const
19275 return isl::pw_multi_aff(*this).range_product(pma2);
19278 isl::union_pw_multi_aff pw_aff::range_product(const isl::union_pw_multi_aff &upma2) const
19282 return isl::union_pw_aff(*this).range_product(upma2);
19285 isl::id pw_aff::range_tuple_id() const
19289 return isl::pw_multi_aff(*this).range_tuple_id();
19292 isl::multi_pw_aff pw_aff::reset_range_tuple_id() const
19296 return isl::multi_pw_aff(*this).reset_range_tuple_id();
19299 isl::pw_aff pw_aff::scale(isl::val v) const
19311 isl::pw_aff pw_aff::scale(long v) const
19315 return this->scale(isl::val(ctx(), v));
19318 isl::pw_multi_aff pw_aff::scale(const isl::multi_val &mv) const
19322 return isl::pw_multi_aff(*this).scale(mv);
19325 isl::pw_aff pw_aff::scale_down(isl::val f) const
19337 isl::pw_aff pw_aff::scale_down(long f) const
19341 return this->scale_down(isl::val(ctx(), f));
19344 isl::pw_multi_aff pw_aff::scale_down(const isl::multi_val &mv) const
19348 return isl::pw_multi_aff(*this).scale_down(mv);
19351 isl::multi_pw_aff pw_aff::set_at(int pos, const isl::pw_aff &el) const
19355 return isl::pw_multi_aff(*this).set_at(pos, el);
19358 isl::multi_union_pw_aff pw_aff::set_at(int pos, const isl::union_pw_aff &el) const
19362 return isl::union_pw_aff(*this).set_at(pos, el);
19365 isl::pw_multi_aff pw_aff::set_range_tuple(const isl::id &id) const
19369 return isl::pw_multi_aff(*this).set_range_tuple(id);
19372 isl::pw_multi_aff pw_aff::set_range_tuple(const std::string &id) const
19376 return this->set_range_tuple(isl::id(ctx(), id));
19383 return isl::multi_pw_aff(*this).size();
19386 isl::space pw_aff::space() const
19398 isl::space pw_aff::get_space() const
19403 isl::multi_pw_aff pw_aff::sub(const isl::multi_pw_aff &multi2) const
19407 return isl::pw_multi_aff(*this).sub(multi2);
19410 isl::multi_union_pw_aff pw_aff::sub(const isl::multi_union_pw_aff &multi2) const
19414 return isl::union_pw_aff(*this).sub(multi2);
19417 isl::pw_aff pw_aff::sub(isl::pw_aff pwaff2) const
19429 isl::pw_multi_aff pw_aff::sub(const isl::pw_multi_aff &pma2) const
19433 return isl::pw_multi_aff(*this).sub(pma2);
19436 isl::union_pw_aff pw_aff::sub(const isl::union_pw_aff &upa2) const
19440 return isl::union_pw_aff(*this).sub(upa2);
19443 isl::union_pw_multi_aff pw_aff::sub(const isl::union_pw_multi_aff &upma2) const
19447 return isl::union_pw_aff(*this).sub(upma2);
19450 isl::pw_aff pw_aff::sub(const isl::aff &pwaff2) const
19454 return this->sub(isl::pw_aff(pwaff2));
19457 isl::pw_aff pw_aff::subtract_domain(isl::set set) const
19469 isl::union_pw_aff pw_aff::subtract_domain(const isl::space &space) const
19473 return isl::union_pw_aff(*this).subtract_domain(space);
19476 isl::union_pw_aff pw_aff::subtract_domain(const isl::union_set &uset) const
19480 return isl::union_pw_aff(*this).subtract_domain(uset);
19483 isl::pw_aff pw_aff::subtract_domain(const isl::basic_set &set) const
19487 return this->subtract_domain(isl::set(set));
19490 isl::pw_aff pw_aff::subtract_domain(const isl::point &set) const
19494 return this->subtract_domain(isl::set(set));
19497 isl::pw_aff pw_aff::tdiv_q(isl::pw_aff pa2) const
19509 isl::pw_aff pw_aff::tdiv_r(isl::pw_aff pa2) const
19521 isl::pw_aff_list pw_aff::to_list() const
19533 isl::multi_pw_aff pw_aff::to_multi_pw_aff() const
19537 return isl::pw_multi_aff(*this).to_multi_pw_aff();
19540 isl::union_pw_aff pw_aff::to_union_pw_aff() const
19552 isl::union_pw_multi_aff pw_aff::to_union_pw_multi_aff() const
19556 return isl::pw_multi_aff(*this).to_union_pw_multi_aff();
19559 isl::multi_pw_aff pw_aff::unbind_params_insert_domain(const isl::multi_id &domain) const
19563 return isl::pw_multi_aff(*this).unbind_params_insert_domain(domain);
19566 isl::multi_pw_aff pw_aff::union_add(const isl::multi_pw_aff &mpa2) const
19570 return isl::pw_multi_aff(*this).union_add(mpa2);
19573 isl::multi_union_pw_aff pw_aff::union_add(const isl::multi_union_pw_aff &mupa2) const
19577 return isl::union_pw_aff(*this).union_add(mupa2);
19580 isl::pw_aff pw_aff::union_add(isl::pw_aff pwaff2) const
19592 isl::pw_multi_aff pw_aff::union_add(const isl::pw_multi_aff &pma2) const
19596 return isl::pw_multi_aff(*this).union_add(pma2);
19599 isl::union_pw_aff pw_aff::union_add(const isl::union_pw_aff &upa2) const
19603 return isl::union_pw_aff(*this).union_add(upa2);
19606 isl::union_pw_multi_aff pw_aff::union_add(const isl::union_pw_multi_aff &upma2) const
19610 return isl::union_pw_aff(*this).union_add(upma2);
19613 isl::pw_aff pw_aff::union_add(const isl::aff &pwaff2) const
19617 return this->union_add(isl::pw_aff(pwaff2));
19634 // implementations for isl::pw_aff_list
19669 pw_aff_list::pw_aff_list(isl::ctx ctx, int n)
19679 pw_aff_list::pw_aff_list(isl::pw_aff el)
19691 pw_aff_list::pw_aff_list(isl::ctx ctx, const std::string &str)
19729 isl::ctx pw_aff_list::ctx() const {
19730 return isl::ctx(isl_pw_aff_list_get_ctx(ptr));
19733 isl::pw_aff_list pw_aff_list::add(isl::pw_aff el) const
19745 isl::pw_aff pw_aff_list::at(int index) const
19757 isl::pw_aff pw_aff_list::get_at(int index) const
19762 isl::pw_aff_list pw_aff_list::clear() const
19774 isl::pw_aff_list pw_aff_list::concat(isl::pw_aff_list list2) const
19786 isl::pw_aff_list pw_aff_list::drop(unsigned int first, unsigned int n) const
19798 void pw_aff_list::foreach(const std::function<void(isl::pw_aff)> &fn) const
19805 std::function<void(isl::pw_aff)> func;
19826 void pw_aff_list::foreach_scc(const std::function<bool(isl::pw_aff, isl::pw_aff)> &follows, const std::function<void(isl::pw_aff_list)> &fn) const
19833 std::function<bool(isl::pw_aff, isl::pw_aff)> func;
19847 std::function<void(isl::pw_aff_list)> func;
19870 isl::pw_aff_list pw_aff_list::insert(unsigned int pos, isl::pw_aff el) const
19882 isl::pw_aff_list pw_aff_list::set_at(int index, isl::pw_aff el) const
19920 // implementations for isl::pw_multi_aff
19955 pw_multi_aff::pw_multi_aff(isl::multi_aff ma)
19967 pw_multi_aff::pw_multi_aff(isl::pw_aff pa)
19979 pw_multi_aff::pw_multi_aff(isl::ctx ctx, const std::string &str)
20017 isl::ctx pw_multi_aff::ctx() const {
20018 return isl::ctx(isl_pw_multi_aff_get_ctx(ptr));
20021 isl::multi_pw_aff pw_multi_aff::add(const isl::multi_pw_aff &multi2) const
20025 return isl::multi_pw_aff(*this).add(multi2);
20028 isl::multi_union_pw_aff pw_multi_aff::add(const isl::multi_union_pw_aff &multi2) const
20032 return isl::multi_pw_aff(*this).add(multi2);
20035 isl::pw_multi_aff pw_multi_aff::add(isl::pw_multi_aff pma2) const
20047 isl::union_pw_multi_aff pw_multi_aff::add(const isl::union_pw_multi_aff &upma2) const
20051 return isl::union_pw_multi_aff(*this).add(upma2);
20054 isl::pw_multi_aff pw_multi_aff::add(const isl::multi_aff &pma2) const
20058 return this->add(isl::pw_multi_aff(pma2));
20061 isl::pw_multi_aff pw_multi_aff::add(const isl::pw_aff &pma2) const
20065 return this->add(isl::pw_multi_aff(pma2));
20068 isl::pw_multi_aff pw_multi_aff::add_constant(isl::multi_val mv) const
20080 isl::pw_multi_aff pw_multi_aff::add_constant(isl::val v) const
20092 isl::pw_multi_aff pw_multi_aff::add_constant(long v) const
20096 return this->add_constant(isl::val(ctx(), v));
20099 isl::union_pw_multi_aff pw_multi_aff::apply(const isl::union_pw_multi_aff &upma2) const
20103 return isl::union_pw_multi_aff(*this).apply(upma2);
20106 isl::map pw_multi_aff::as_map() const
20118 isl::multi_aff pw_multi_aff::as_multi_aff() const
20130 isl::multi_union_pw_aff pw_multi_aff::as_multi_union_pw_aff() const
20134 return isl::union_pw_multi_aff(*this).as_multi_union_pw_aff();
20137 isl::pw_multi_aff pw_multi_aff::as_pw_multi_aff() const
20141 return isl::union_pw_multi_aff(*this).as_pw_multi_aff();
20144 isl::set pw_multi_aff::as_set() const
20156 isl::union_map pw_multi_aff::as_union_map() const
20160 return isl::union_pw_multi_aff(*this).as_union_map();
20163 isl::pw_aff pw_multi_aff::at(int pos) const
20175 isl::pw_aff pw_multi_aff::get_at(int pos) const
20180 isl::set pw_multi_aff::bind(const isl::multi_id &tuple) const
20184 return isl::multi_pw_aff(*this).bind(tuple);
20187 isl::pw_multi_aff pw_multi_aff::bind_domain(isl::multi_id tuple) const
20199 isl::pw_multi_aff pw_multi_aff::bind_domain_wrapped_domain(isl::multi_id tuple) const
20211 isl::pw_multi_aff pw_multi_aff::coalesce() const
20223 isl::set pw_multi_aff::domain() const
20235 isl::pw_multi_aff pw_multi_aff::domain_map(isl::space space)
20247 isl::pw_multi_aff pw_multi_aff::domain_reverse() const
20259 isl::pw_multi_aff pw_multi_aff::drop_unused_params() const
20271 isl::pw_multi_aff pw_multi_aff::extract_pw_multi_aff(const isl::space &space) const
20275 return isl::union_pw_multi_aff(*this).extract_pw_multi_aff(space);
20278 isl::multi_pw_aff pw_multi_aff::flat_range_product(const isl::multi_pw_aff &multi2) const
20282 return isl::multi_pw_aff(*this).flat_range_product(multi2);
20285 isl::multi_union_pw_aff pw_multi_aff::flat_range_product(const isl::multi_union_pw_aff &multi2) const
20289 return isl::multi_pw_aff(*this).flat_range_product(multi2);
20292 isl::pw_multi_aff pw_multi_aff::flat_range_product(isl::pw_multi_aff pma2) const
20304 isl::union_pw_multi_aff pw_multi_aff::flat_range_product(const isl::union_pw_multi_aff &upma2) const
20308 return isl::union_pw_multi_aff(*this).flat_range_product(upma2);
20311 isl::pw_multi_aff pw_multi_aff::flat_range_product(const isl::multi_aff &pma2) const
20315 return this->flat_range_product(isl::pw_multi_aff(pma2));
20318 isl::pw_multi_aff pw_multi_aff::flat_range_product(const isl::pw_aff &pma2) const
20322 return this->flat_range_product(isl::pw_multi_aff(pma2));
20325 void pw_multi_aff::foreach_piece(const std::function<void(isl::set, isl::multi_aff)> &fn) const
20332 std::function<void(isl::set, isl::multi_aff)> func;
20353 isl::pw_multi_aff pw_multi_aff::gist(isl::set set) const
20365 isl::union_pw_multi_aff pw_multi_aff::gist(const isl::union_set &context) const
20369 return isl::union_pw_multi_aff(*this).gist(context);
20372 isl::pw_multi_aff pw_multi_aff::gist(const isl::basic_set &set) const
20376 return this->gist(isl::set(set));
20379 isl::pw_multi_aff pw_multi_aff::gist(const isl::point &set) const
20383 return this->gist(isl::set(set));
20386 isl::pw_multi_aff pw_multi_aff::gist_params(isl::set set) const
20410 isl::multi_pw_aff pw_multi_aff::identity() const
20414 return isl::multi_pw_aff(*this).identity();
20417 isl::pw_multi_aff pw_multi_aff::identity_on_domain(isl::space space)
20429 isl::pw_multi_aff pw_multi_aff::insert_domain(isl::space domain) const
20441 isl::pw_multi_aff pw_multi_aff::intersect_domain(isl::set set) const
20453 isl::union_pw_multi_aff pw_multi_aff::intersect_domain(const isl::space &space) const
20457 return isl::union_pw_multi_aff(*this).intersect_domain(space);
20460 isl::union_pw_multi_aff pw_multi_aff::intersect_domain(const isl::union_set &uset) const
20464 return isl::union_pw_multi_aff(*this).intersect_domain(uset);
20467 isl::pw_multi_aff pw_multi_aff::intersect_domain(const isl::basic_set &set) const
20471 return this->intersect_domain(isl::set(set));
20474 isl::pw_multi_aff pw_multi_aff::intersect_domain(const isl::point &set) const
20478 return this->intersect_domain(isl::set(set));
20481 isl::union_pw_multi_aff pw_multi_aff::intersect_domain_wrapped_domain(const isl::union_set &uset) const
20485 return isl::union_pw_multi_aff(*this).intersect_domain_wrapped_domain(uset);
20488 isl::union_pw_multi_aff pw_multi_aff::intersect_domain_wrapped_range(const isl::union_set &uset) const
20492 return isl::union_pw_multi_aff(*this).intersect_domain_wrapped_range(uset);
20495 isl::pw_multi_aff pw_multi_aff::intersect_params(isl::set set) const
20523 return isl::multi_pw_aff(*this).involves_nan();
20526 bool pw_multi_aff::involves_param(const isl::id &id) const
20530 return isl::multi_pw_aff(*this).involves_param(id);
20537 return this->involves_param(isl::id(ctx(), id));
20540 bool pw_multi_aff::involves_param(const isl::id_list &list) const
20544 return isl::multi_pw_aff(*this).involves_param(list);
20563 return isl::union_pw_multi_aff(*this).isa_pw_multi_aff();
20566 isl::pw_aff_list pw_multi_aff::list() const
20570 return isl::multi_pw_aff(*this).list();
20573 isl::multi_pw_aff pw_multi_aff::max(const isl::multi_pw_aff &multi2) const
20577 return isl::multi_pw_aff(*this).max(multi2);
20580 isl::multi_val pw_multi_aff::max_multi_val() const
20592 isl::multi_pw_aff pw_multi_aff::min(const isl::multi_pw_aff &multi2) const
20596 return isl::multi_pw_aff(*this).min(multi2);
20599 isl::multi_val pw_multi_aff::min_multi_val() const
20611 isl::pw_multi_aff pw_multi_aff::multi_val_on_domain(isl::set domain, isl::multi_val mv)
20635 isl::multi_pw_aff pw_multi_aff::neg() const
20639 return isl::multi_pw_aff(*this).neg();
20646 return isl::union_pw_multi_aff(*this).plain_is_empty();
20649 bool pw_multi_aff::plain_is_equal(const isl::multi_pw_aff &multi2) const
20653 return isl::multi_pw_aff(*this).plain_is_equal(multi2);
20656 bool pw_multi_aff::plain_is_equal(const isl::multi_union_pw_aff &multi2) const
20660 return isl::multi_pw_aff(*this).plain_is_equal(multi2);
20663 bool pw_multi_aff::plain_is_equal(const isl::pw_multi_aff &pma2) const
20675 bool pw_multi_aff::plain_is_equal(const isl::union_pw_multi_aff &upma2) const
20679 return isl::union_pw_multi_aff(*this).plain_is_equal(upma2);
20682 bool pw_multi_aff::plain_is_equal(const isl::multi_aff &pma2) const
20686 return this->plain_is_equal(isl::pw_multi_aff(pma2));
20689 bool pw_multi_aff::plain_is_equal(const isl::pw_aff &pma2) const
20693 return this->plain_is_equal(isl::pw_multi_aff(pma2));
20696 isl::pw_multi_aff pw_multi_aff::preimage_domain_wrapped_domain(isl::pw_multi_aff pma2) const
20708 isl::union_pw_multi_aff pw_multi_aff::preimage_domain_wrapped_domain(const isl::union_pw_multi_aff &upma2) const
20712 return isl::union_pw_multi_aff(*this).preimage_domain_wrapped_domain(upma2);
20715 isl::pw_multi_aff pw_multi_aff::preimage_domain_wrapped_domain(const isl::multi_aff &pma2) const
20719 return this->preimage_domain_wrapped_domain(isl::pw_multi_aff(pma2));
20722 isl::pw_multi_aff pw_multi_aff::preimage_domain_wrapped_domain(const isl::pw_aff &pma2) const
20726 return this->preimage_domain_wrapped_domain(isl::pw_multi_aff(pma2));
20729 isl::multi_pw_aff pw_multi_aff::product(const isl::multi_pw_aff &multi2) const
20733 return isl::multi_pw_aff(*this).product(multi2);
20736 isl::pw_multi_aff pw_multi_aff::product(isl::pw_multi_aff pma2) const
20748 isl::pw_multi_aff pw_multi_aff::product(const isl::multi_aff &pma2) const
20752 return this->product(isl::pw_multi_aff(pma2));
20755 isl::pw_multi_aff pw_multi_aff::product(const isl::pw_aff &pma2) const
20759 return this->product(isl::pw_multi_aff(pma2));
20762 isl::multi_pw_aff pw_multi_aff::pullback(const isl::multi_pw_aff &mpa2) const
20766 return isl::multi_pw_aff(*this).pullback(mpa2);
20769 isl::pw_multi_aff pw_multi_aff::pullback(isl::multi_aff ma) const
20781 isl::pw_multi_aff pw_multi_aff::pullback(isl::pw_multi_aff pma2) const
20793 isl::union_pw_multi_aff pw_multi_aff::pullback(const isl::union_pw_multi_aff &upma2) const
20797 return isl::union_pw_multi_aff(*this).pullback(upma2);
20800 isl::pw_multi_aff_list pw_multi_aff::pw_multi_aff_list() const
20804 return isl::union_pw_multi_aff(*this).pw_multi_aff_list();
20807 isl::pw_multi_aff pw_multi_aff::range_factor_domain() const
20819 isl::pw_multi_aff pw_multi_aff::range_factor_range() const
20831 isl::pw_multi_aff pw_multi_aff::range_map(isl::space space)
20843 isl::multi_pw_aff pw_multi_aff::range_product(const isl::multi_pw_aff &multi2) const
20847 return isl::multi_pw_aff(*this).range_product(multi2);
20850 isl::multi_union_pw_aff pw_multi_aff::range_product(const isl::multi_union_pw_aff &multi2) const
20854 return isl::multi_pw_aff(*this).range_product(multi2);
20857 isl::pw_multi_aff pw_multi_aff::range_product(isl::pw_multi_aff pma2) const
20869 isl::union_pw_multi_aff pw_multi_aff::range_product(const isl::union_pw_multi_aff &upma2) const
20873 return isl::union_pw_multi_aff(*this).range_product(upma2);
20876 isl::pw_multi_aff pw_multi_aff::range_product(const isl::multi_aff &pma2) const
20880 return this->range_product(isl::pw_multi_aff(pma2));
20883 isl::pw_multi_aff pw_multi_aff::range_product(const isl::pw_aff &pma2) const
20887 return this->range_product(isl::pw_multi_aff(pma2));
20890 isl::id pw_multi_aff::range_tuple_id() const
20902 isl::id pw_multi_aff::get_range_tuple_id() const
20907 isl::multi_pw_aff pw_multi_aff::reset_range_tuple_id() const
20911 return isl::multi_pw_aff(*this).reset_range_tuple_id();
20914 isl::pw_multi_aff pw_multi_aff::scale(isl::multi_val mv) const
20926 isl::pw_multi_aff pw_multi_aff::scale(isl::val v) const
20938 isl::pw_multi_aff pw_multi_aff::scale(long v) const
20942 return this->scale(isl::val(ctx(), v));
20945 isl::pw_multi_aff pw_multi_aff::scale_down(isl::multi_val mv) const
20957 isl::pw_multi_aff pw_multi_aff::scale_down(isl::val v) const
20969 isl::pw_multi_aff pw_multi_aff::scale_down(long v) const
20973 return this->scale_down(isl::val(ctx(), v));
20976 isl::multi_pw_aff pw_multi_aff::set_at(int pos, const isl::pw_aff &el) const
20980 return isl::multi_pw_aff(*this).set_at(pos, el);
20983 isl::multi_union_pw_aff pw_multi_aff::set_at(int pos, const isl::union_pw_aff &el) const
20987 return isl::multi_pw_aff(*this).set_at(pos, el);
20990 isl::pw_multi_aff pw_multi_aff::set_range_tuple(isl::id id) const
21002 isl::pw_multi_aff pw_multi_aff::set_range_tuple(const std::string &id) const
21006 return this->set_range_tuple(isl::id(ctx(), id));
21013 return isl::multi_pw_aff(*this).size();
21016 isl::space pw_multi_aff::space() const
21028 isl::space pw_multi_aff::get_space() const
21033 isl::multi_pw_aff pw_multi_aff::sub(const isl::multi_pw_aff &multi2) const
21037 return isl::multi_pw_aff(*this).sub(multi2);
21040 isl::multi_union_pw_aff pw_multi_aff::sub(const isl::multi_union_pw_aff &multi2) const
21044 return isl::multi_pw_aff(*this).sub(multi2);
21047 isl::pw_multi_aff pw_multi_aff::sub(isl::pw_multi_aff pma2) const
21059 isl::union_pw_multi_aff pw_multi_aff::sub(const isl::union_pw_multi_aff &upma2) const
21063 return isl::union_pw_multi_aff(*this).sub(upma2);
21066 isl::pw_multi_aff pw_multi_aff::sub(const isl::multi_aff &pma2) const
21070 return this->sub(isl::pw_multi_aff(pma2));
21073 isl::pw_multi_aff pw_multi_aff::sub(const isl::pw_aff &pma2) const
21077 return this->sub(isl::pw_multi_aff(pma2));
21080 isl::pw_multi_aff pw_multi_aff::subtract_domain(isl::set set) const
21092 isl::union_pw_multi_aff pw_multi_aff::subtract_domain(const isl::space &space) const
21096 return isl::union_pw_multi_aff(*this).subtract_domain(space);
21099 isl::union_pw_multi_aff pw_multi_aff::subtract_domain(const isl::union_set &uset) const
21103 return isl::union_pw_multi_aff(*this).subtract_domain(uset);
21106 isl::pw_multi_aff pw_multi_aff::subtract_domain(const isl::basic_set &set) const
21110 return this->subtract_domain(isl::set(set));
21113 isl::pw_multi_aff pw_multi_aff::subtract_domain(const isl::point &set) const
21117 return this->subtract_domain(isl::set(set));
21120 isl::pw_multi_aff_list pw_multi_aff::to_list() const
21132 isl::multi_pw_aff pw_multi_aff::to_multi_pw_aff() const
21144 isl::union_pw_multi_aff pw_multi_aff::to_union_pw_multi_aff() const
21156 isl::multi_pw_aff pw_multi_aff::unbind_params_insert_domain(const isl::multi_id &domain) const
21160 return isl::multi_pw_aff(*this).unbind_params_insert_domain(domain);
21163 isl::multi_pw_aff pw_multi_aff::union_add(const isl::multi_pw_aff &mpa2) const
21167 return isl::multi_pw_aff(*this).union_add(mpa2);
21170 isl::multi_union_pw_aff pw_multi_aff::union_add(const isl::multi_union_pw_aff &mupa2) const
21174 return isl::multi_pw_aff(*this).union_add(mupa2);
21177 isl::pw_multi_aff pw_multi_aff::union_add(isl::pw_multi_aff pma2) const
21189 isl::union_pw_multi_aff pw_multi_aff::union_add(const isl::union_pw_multi_aff &upma2) const
21193 return isl::union_pw_multi_aff(*this).union_add(upma2);
21196 isl::pw_multi_aff pw_multi_aff::union_add(const isl::multi_aff &pma2) const
21200 return this->union_add(isl::pw_multi_aff(pma2));
21203 isl::pw_multi_aff pw_multi_aff::union_add(const isl::pw_aff &pma2) const
21207 return this->union_add(isl::pw_multi_aff(pma2));
21210 isl::pw_multi_aff pw_multi_aff::zero(isl::space space)
21236 // implementations for isl::pw_multi_aff_list
21271 pw_multi_aff_list::pw_multi_aff_list(isl::ctx ctx, int n)
21281 pw_multi_aff_list::pw_multi_aff_list(isl::pw_multi_aff el)
21293 pw_multi_aff_list::pw_multi_aff_list(isl::ctx ctx, const std::string &str)
21331 isl::ctx pw_multi_aff_list::ctx() const {
21332 return isl::ctx(isl_pw_multi_aff_list_get_ctx(ptr));
21335 isl::pw_multi_aff_list pw_multi_aff_list::add(isl::pw_multi_aff el) const
21347 isl::pw_multi_aff pw_multi_aff_list::at(int index) const
21359 isl::pw_multi_aff pw_multi_aff_list::get_at(int index) const
21364 isl::pw_multi_aff_list pw_multi_aff_list::clear() const
21376 isl::pw_multi_aff_list pw_multi_aff_list::concat(isl::pw_multi_aff_list list2) const
21388 isl::pw_multi_aff_list pw_multi_aff_list::drop(unsigned int first, unsigned int n) const
21400 void pw_multi_aff_list::foreach(const std::function<void(isl::pw_multi_aff)> &fn) const
21407 std::function<void(isl::pw_multi_aff)> func;
21428 void pw_multi_aff_list::foreach_scc(const std::function<bool(isl::pw_multi_aff, isl::pw_multi_aff)> &follows, const std::function<void(isl::pw_multi_aff_list)> &fn) const
21435 std::function<bool(isl::pw_multi_aff, isl::pw_multi_aff)> func;
21449 std::function<void(isl::pw_multi_aff_list)> func;
21472 isl::pw_multi_aff_list pw_multi_aff_list::insert(unsigned int pos, isl::pw_multi_aff el) const
21484 isl::pw_multi_aff_list pw_multi_aff_list::set_at(int index, isl::pw_multi_aff el) const
21522 // implementations for isl::schedule
21557 schedule::schedule(isl::ctx ctx, const std::string &str)
21595 isl::ctx schedule::ctx() const {
21596 return isl::ctx(isl_schedule_get_ctx(ptr));
21599 isl::union_set schedule::domain() const
21611 isl::union_set schedule::get_domain() const
21616 isl::schedule schedule::from_domain(isl::union_set domain)
21628 isl::union_map schedule::map() const
21640 isl::union_map schedule::get_map() const
21645 isl::schedule schedule::pullback(isl::union_pw_multi_aff upma) const
21657 isl::schedule_node schedule::root() const
21669 isl::schedule_node schedule::get_root() const
21688 // implementations for isl::schedule_constraints
21723 schedule_constraints::schedule_constraints(isl::ctx ctx, const std::string &str)
21761 isl::ctx schedule_constraints::ctx() const {
21762 return isl::ctx(isl_schedule_constraints_get_ctx(ptr));
21765 isl::union_map schedule_constraints::coincidence() const
21777 isl::union_map schedule_constraints::get_coincidence() const
21782 isl::schedule schedule_constraints::compute_schedule() const
21794 isl::union_map schedule_constraints::conditional_validity() const
21806 isl::union_map schedule_constraints::get_conditional_validity() const
21811 isl::union_map schedule_constraints::conditional_validity_condition() const
21823 isl::union_map schedule_constraints::get_conditional_validity_condition() const
21828 isl::set schedule_constraints::context() const
21840 isl::set schedule_constraints::get_context() const
21845 isl::union_set schedule_constraints::domain() const
21857 isl::union_set schedule_constraints::get_domain() const
21862 isl::schedule_constraints schedule_constraints::on_domain(isl::union_set domain)
21874 isl::union_map schedule_constraints::proximity() const
21886 isl::union_map schedule_constraints::get_proximity() const
21891 isl::schedule_constraints schedule_constraints::set_coincidence(isl::union_map coincidence) const
21903 isl::schedule_constraints schedule_constraints::set_conditional_validity(isl::union_map condition, isl::union_map validity) const
21915 isl::schedule_constraints schedule_constraints::set_context(isl::set context) const
21927 isl::schedule_constraints schedule_constraints::set_proximity(isl::union_map proximity) const
21939 isl::schedule_constraints schedule_constraints::set_validity(isl::union_map validity) const
21951 isl::union_map schedule_constraints::validity() const
21963 isl::union_map schedule_constraints::get_validity() const
21982 // implementations for isl::schedule_node
22065 isl::ctx schedule_node::ctx() const {
22066 return isl::ctx(isl_schedule_node_get_ctx(ptr));
22069 isl::schedule_node schedule_node::ancestor(int generation) const
22081 unsigned schedule_node::ancestor_child_position(const isl::schedule_node &ancestor) const
22093 unsigned schedule_node::get_ancestor_child_position(const isl::schedule_node &ancestor) const
22098 isl::schedule_node schedule_node::child(int pos) const
22127 bool schedule_node::every_descendant(const std::function<bool(isl::schedule_node)> &test) const
22134 std::function<bool(isl::schedule_node)> func;
22155 isl::schedule_node schedule_node::first_child() const
22167 void schedule_node::foreach_ancestor_top_down(const std::function<void(isl::schedule_node)> &fn) const
22174 std::function<void(isl::schedule_node)> func;
22195 void schedule_node::foreach_descendant_top_down(const std::function<bool(isl::schedule_node)> &fn) const
22202 std::function<bool(isl::schedule_node)> func;
22223 isl::schedule_node schedule_node::from_domain(isl::union_set domain)
22235 isl::schedule_node schedule_node::from_extension(isl::union_map extension)
22247 isl::schedule_node schedule_node::graft_after(isl::schedule_node graft) const
22259 isl::schedule_node schedule_node::graft_before(isl::schedule_node graft) const
22319 isl::schedule_node schedule_node::insert_context(isl::set context) const
22331 isl::schedule_node schedule_node::insert_filter(isl::union_set filter) const
22343 isl::schedule_node schedule_node::insert_guard(isl::set context) const
22355 isl::schedule_node schedule_node::insert_mark(isl::id mark) const
22367 isl::schedule_node schedule_node::insert_mark(const std::string &mark) const
22371 return this->insert_mark(isl::id(ctx(), mark));
22374 isl::schedule_node schedule_node::insert_partial_schedule(isl::multi_union_pw_aff schedule) const
22386 isl::schedule_node schedule_node::insert_sequence(isl::union_set_list filters) const
22398 isl::schedule_node schedule_node::insert_set(isl::union_set_list filters) const
22410 bool schedule_node::is_equal(const isl::schedule_node &node2) const
22434 isl::schedule_node schedule_node::map_descendant_bottom_up(const std::function<isl::schedule_node(isl::schedule_node)> &fn) const
22441 std::function<isl::schedule_node(isl::schedule_node)> func;
22474 isl::schedule_node schedule_node::next_sibling() const
22486 isl::schedule_node schedule_node::order_after(isl::union_set filter) const
22498 isl::schedule_node schedule_node::order_before(isl::union_set filter) const
22510 isl::schedule_node schedule_node::parent() const
22522 isl::multi_union_pw_aff schedule_node::prefix_schedule_multi_union_pw_aff() const
22534 isl::multi_union_pw_aff schedule_node::get_prefix_schedule_multi_union_pw_aff() const
22539 isl::union_map schedule_node::prefix_schedule_union_map() const
22551 isl::union_map schedule_node::get_prefix_schedule_union_map() const
22556 isl::union_pw_multi_aff schedule_node::prefix_schedule_union_pw_multi_aff() const
22568 isl::union_pw_multi_aff schedule_node::get_prefix_schedule_union_pw_multi_aff() const
22573 isl::schedule_node schedule_node::previous_sibling() const
22585 isl::schedule_node schedule_node::root() const
22597 isl::schedule schedule_node::schedule() const
22609 isl::schedule schedule_node::get_schedule() const
22614 isl::schedule_node schedule_node::shared_ancestor(const isl::schedule_node &node2) const
22626 isl::schedule_node schedule_node::get_shared_ancestor(const isl::schedule_node &node2) const
22662 // implementations for isl::schedule_node_band
22679 isl::ctx schedule_node_band::ctx() const {
22680 return isl::ctx(isl_schedule_node_get_ctx(ptr));
22683 isl::union_set schedule_node_band::ast_build_options() const
22695 isl::union_set schedule_node_band::get_ast_build_options() const
22700 isl::set schedule_node_band::ast_isolate_option() const
22712 isl::set schedule_node_band::get_ast_isolate_option() const
22741 schedule_node_band schedule_node_band::mod(isl::multi_val mv) const
22765 isl::multi_union_pw_aff schedule_node_band::partial_schedule() const
22777 isl::multi_union_pw_aff schedule_node_band::get_partial_schedule() const
22799 schedule_node_band schedule_node_band::scale(isl::multi_val mv) const
22811 schedule_node_band schedule_node_band::scale_down(isl::multi_val mv) const
22823 schedule_node_band schedule_node_band::set_ast_build_options(isl::union_set options) const
22847 schedule_node_band schedule_node_band::shift(isl::multi_union_pw_aff shift) const
22871 schedule_node_band schedule_node_band::tile(isl::multi_val sizes) const
22945 // implementations for isl::schedule_node_context
22962 isl::ctx schedule_node_context::ctx() const {
22963 return isl::ctx(isl_schedule_node_get_ctx(ptr));
22966 isl::set schedule_node_context::context() const
22978 isl::set schedule_node_context::get_context() const
22997 // implementations for isl::schedule_node_domain
23014 isl::ctx schedule_node_domain::ctx() const {
23015 return isl::ctx(isl_schedule_node_get_ctx(ptr));
23018 isl::union_set schedule_node_domain::domain() const
23030 isl::union_set schedule_node_domain::get_domain() const
23049 // implementations for isl::schedule_node_expansion
23066 isl::ctx schedule_node_expansion::ctx() const {
23067 return isl::ctx(isl_schedule_node_get_ctx(ptr));
23070 isl::union_pw_multi_aff schedule_node_expansion::contraction() const
23082 isl::union_pw_multi_aff schedule_node_expansion::get_contraction() const
23087 isl::union_map schedule_node_expansion::expansion() const
23099 isl::union_map schedule_node_expansion::get_expansion() const
23118 // implementations for isl::schedule_node_extension
23135 isl::ctx schedule_node_extension::ctx() const {
23136 return isl::ctx(isl_schedule_node_get_ctx(ptr));
23139 isl::union_map schedule_node_extension::extension() const
23151 isl::union_map schedule_node_extension::get_extension() const
23170 // implementations for isl::schedule_node_filter
23187 isl::ctx schedule_node_filter::ctx() const {
23188 return isl::ctx(isl_schedule_node_get_ctx(ptr));
23191 isl::union_set schedule_node_filter::filter() const
23203 isl::union_set schedule_node_filter::get_filter() const
23222 // implementations for isl::schedule_node_guard
23239 isl::ctx schedule_node_guard::ctx() const {
23240 return isl::ctx(isl_schedule_node_get_ctx(ptr));
23243 isl::set schedule_node_guard::guard() const
23255 isl::set schedule_node_guard::get_guard() const
23274 // implementations for isl::schedule_node_leaf
23291 isl::ctx schedule_node_leaf::ctx() const {
23292 return isl::ctx(isl_schedule_node_get_ctx(ptr));
23309 // implementations for isl::schedule_node_mark
23326 isl::ctx schedule_node_mark::ctx() const {
23327 return isl::ctx(isl_schedule_node_get_ctx(ptr));
23344 // implementations for isl::schedule_node_sequence
23361 isl::ctx schedule_node_sequence::ctx() const {
23362 return isl::ctx(isl_schedule_node_get_ctx(ptr));
23379 // implementations for isl::schedule_node_set
23396 isl::ctx schedule_node_set::ctx() const {
23397 return isl::ctx(isl_schedule_node_get_ctx(ptr));
23414 // implementations for isl::set
23449 set::set(isl::basic_set bset)
23461 set::set(isl::point pnt)
23473 set::set(isl::ctx ctx, const std::string &str)
23511 isl::ctx set::ctx() const {
23512 return isl::ctx(isl_set_get_ctx(ptr));
23515 isl::basic_set set::affine_hull() const
23527 isl::set set::apply(isl::map map) const
23539 isl::union_set set::apply(const isl::union_map &umap) const
23543 return isl::union_set(*this).apply(umap);
23546 isl::set set::apply(const isl::basic_map &map) const
23550 return this->apply(isl::map(map));
23553 isl::pw_multi_aff set::as_pw_multi_aff() const
23565 isl::set set::as_set() const
23569 return isl::union_set(*this).as_set();
23572 isl::set set::bind(isl::multi_id tuple) const
23584 isl::set set::coalesce() const
23596 isl::set set::complement() const
23608 isl::union_set set::compute_divs() const
23612 return isl::union_set(*this).compute_divs();
23615 isl::set set::detect_equalities() const
23627 isl::val set::dim_max_val(int pos) const
23639 isl::val set::dim_min_val(int pos) const
23651 isl::set set::drop_unused_params() const
23663 isl::set set::empty(isl::space space)
23675 bool set::every_set(const std::function<bool(isl::set)> &test) const
23679 return isl::union_set(*this).every_set(test);
23682 isl::set set::extract_set(const isl::space &space) const
23686 return isl::union_set(*this).extract_set(space);
23689 isl::set set::flatten() const
23701 void set::foreach_basic_set(const std::function<void(isl::basic_set)> &fn) const
23708 std::function<void(isl::basic_set)> func;
23729 void set::foreach_point(const std::function<void(isl::point)> &fn) const
23736 std::function<void(isl::point)> func;
23757 void set::foreach_set(const std::function<void(isl::set)> &fn) const
23761 return isl::union_set(*this).foreach_set(fn);
23764 isl::set set::gist(isl::set context) const
23776 isl::union_set set::gist(const isl::union_set &context) const
23780 return isl::union_set(*this).gist(context);
23783 isl::set set::gist(const isl::basic_set &context) const
23787 return this->gist(isl::set(context));
23790 isl::set set::gist(const isl::point &context) const
23794 return this->gist(isl::set(context));
23797 isl::set set::gist_params(isl::set context) const
23809 isl::map set::identity() const
23821 isl::pw_aff set::indicator_function() const
23833 isl::map set::insert_domain(isl::space domain) const
23845 isl::set set::intersect(isl::set set2) const
23857 isl::union_set set::intersect(const isl::union_set &uset2) const
23861 return isl::union_set(*this).intersect(uset2);
23864 isl::set set::intersect(const isl::basic_set &set2) const
23868 return this->intersect(isl::set(set2));
23871 isl::set set::intersect(const isl::point &set2) const
23875 return this->intersect(isl::set(set2));
23878 isl::set set::intersect_params(isl::set params) const
23902 bool set::is_disjoint(const isl::set &set2) const
23914 bool set::is_disjoint(const isl::union_set &uset2) const
23918 return isl::union_set(*this).is_disjoint(uset2);
23921 bool set::is_disjoint(const isl::basic_set &set2) const
23925 return this->is_disjoint(isl::set(set2));
23928 bool set::is_disjoint(const isl::point &set2) const
23932 return this->is_disjoint(isl::set(set2));
23947 bool set::is_equal(const isl::set &set2) const
23959 bool set::is_equal(const isl::union_set &uset2) const
23963 return isl::union_set(*this).is_equal(uset2);
23966 bool set::is_equal(const isl::basic_set &set2) const
23970 return this->is_equal(isl::set(set2));
23973 bool set::is_equal(const isl::point &set2) const
23977 return this->is_equal(isl::set(set2));
23992 bool set::is_strict_subset(const isl::set &set2) const
24004 bool set::is_strict_subset(const isl::union_set &uset2) const
24008 return isl::union_set(*this).is_strict_subset(uset2);
24011 bool set::is_strict_subset(const isl::basic_set &set2) const
24015 return this->is_strict_subset(isl::set(set2));
24018 bool set::is_strict_subset(const isl::point &set2) const
24022 return this->is_strict_subset(isl::set(set2));
24025 bool set::is_subset(const isl::set &set2) const
24037 bool set::is_subset(const isl::union_set &uset2) const
24041 return isl::union_set(*this).is_subset(uset2);
24044 bool set::is_subset(const isl::basic_set &set2) const
24048 return this->is_subset(isl::set(set2));
24051 bool set::is_subset(const isl::point &set2) const
24055 return this->is_subset(isl::set(set2));
24074 return isl::union_set(*this).isa_set();
24077 isl::fixed_box set::lattice_tile() const
24089 isl::fixed_box set::get_lattice_tile() const
24094 isl::set set::lexmax() const
24106 isl::pw_multi_aff set::lexmax_pw_multi_aff() const
24118 isl::set set::lexmin() const
24130 isl::pw_multi_aff set::lexmin_pw_multi_aff() const
24142 isl::set set::lower_bound(isl::multi_pw_aff lower) const
24154 isl::set set::lower_bound(isl::multi_val lower) const
24166 isl::multi_pw_aff set::max_multi_pw_aff() const
24178 isl::val set::max_val(const isl::aff &obj) const
24190 isl::multi_pw_aff set::min_multi_pw_aff() const
24202 isl::val set::min_val(const isl::aff &obj) const
24226 isl::pw_aff set::param_pw_aff_on_domain(isl::id id) const
24238 isl::pw_aff set::param_pw_aff_on_domain(const std::string &id) const
24242 return this->param_pw_aff_on_domain(isl::id(ctx(), id));
24245 isl::set set::params() const
24257 isl::multi_val set::plain_multi_val_if_fixed() const
24269 isl::multi_val set::get_plain_multi_val_if_fixed() const
24274 isl::basic_set set::polyhedral_hull() const
24286 isl::set set::preimage(isl::multi_aff ma) const
24298 isl::set set::preimage(isl::multi_pw_aff mpa) const
24310 isl::set set::preimage(isl::pw_multi_aff pma) const
24322 isl::union_set set::preimage(const isl::union_pw_multi_aff &upma) const
24326 return isl::union_set(*this).preimage(upma);
24329 isl::set set::product(isl::set set2) const
24341 isl::set set::project_out_all_params() const
24353 isl::set set::project_out_param(isl::id id) const
24365 isl::set set::project_out_param(const std::string &id) const
24369 return this->project_out_param(isl::id(ctx(), id));
24372 isl::set set::project_out_param(isl::id_list list) const
24384 isl::pw_aff set::pw_aff_on_domain(isl::val v) const
24396 isl::pw_aff set::pw_aff_on_domain(long v) const
24400 return this->pw_aff_on_domain(isl::val(ctx(), v));
24403 isl::pw_multi_aff set::pw_multi_aff_on_domain(isl::multi_val mv) const
24415 isl::basic_set set::sample() const
24427 isl::point set::sample_point() const
24439 isl::set_list set::set_list() const
24443 return isl::union_set(*this).set_list();
24446 isl::fixed_box set::simple_fixed_box_hull() const
24458 isl::fixed_box set::get_simple_fixed_box_hull() const
24463 isl::space set::space() const
24475 isl::space set::get_space() const
24480 isl::val set::stride(int pos) const
24492 isl::val set::get_stride(int pos) const
24497 isl::set set::subtract(isl::set set2) const
24509 isl::union_set set::subtract(const isl::union_set &uset2) const
24513 return isl::union_set(*this).subtract(uset2);
24516 isl::set set::subtract(const isl::basic_set &set2) const
24520 return this->subtract(isl::set(set2));
24523 isl::set set::subtract(const isl::point &set2) const
24527 return this->subtract(isl::set(set2));
24530 isl::set_list set::to_list() const
24542 isl::union_set set::to_union_set() const
24554 isl::map set::translation() const
24578 isl::set set::unbind_params(isl::multi_id tuple) const
24590 isl::map set::unbind_params_insert_domain(isl::multi_id domain) const
24602 isl::set set::unite(isl::set set2) const
24614 isl::union_set set::unite(const isl::union_set &uset2) const
24618 return isl::union_set(*this).unite(uset2);
24621 isl::set set::unite(const isl::basic_set &set2) const
24625 return this->unite(isl::set(set2));
24628 isl::set set::unite(const isl::point &set2) const
24632 return this->unite(isl::set(set2));
24635 isl::set set::universe(isl::space space)
24647 isl::basic_set set::unshifted_simple_hull() const
24659 isl::map set::unwrap() const
24671 isl::set set::upper_bound(isl::multi_pw_aff upper) const
24683 isl::set set::upper_bound(isl::multi_val upper) const
24695 isl::set set::wrapped_reverse() const
24721 // implementations for isl::set_list
24756 set_list::set_list(isl::ctx ctx, int n)
24766 set_list::set_list(isl::set el)
24778 set_list::set_list(isl::ctx ctx, const std::string &str)
24816 isl::ctx set_list::ctx() const {
24817 return isl::ctx(isl_set_list_get_ctx(ptr));
24820 isl::set_list set_list::add(isl::set el) const
24832 isl::set set_list::at(int index) const
24844 isl::set set_list::get_at(int index) const
24849 isl::set_list set_list::clear() const
24861 isl::set_list set_list::concat(isl::set_list list2) const
24873 isl::set_list set_list::drop(unsigned int first, unsigned int n) const
24885 void set_list::foreach(const std::function<void(isl::set)> &fn) const
24892 std::function<void(isl::set)> func;
24913 void set_list::foreach_scc(const std::function<bool(isl::set, isl::set)> &follows, const std::function<void(isl::set_list)> &fn) const
24920 std::function<bool(isl::set, isl::set)> func;
24934 std::function<void(isl::set_list)> func;
24957 isl::set_list set_list::insert(unsigned int pos, isl::set el) const
24969 isl::set_list set_list::set_at(int index, isl::set el) const
25007 // implementations for isl::space
25042 space::space(isl::ctx ctx, const std::string &str)
25080 isl::ctx space::ctx() const {
25081 return isl::ctx(isl_space_get_ctx(ptr));
25084 isl::space space::add_named_tuple(isl::id tuple_id, unsigned int dim) const
25096 isl::space space::add_named_tuple(const std::string &tuple_id, unsigned int dim) const
25100 return this->add_named_tuple(isl::id(ctx(), tuple_id), dim);
25103 isl::space space::add_param(isl::id id) const
25115 isl::space space::add_param(const std::string &id) const
25119 return this->add_param(isl::id(ctx(), id));
25122 isl::space space::add_unnamed_tuple(unsigned int dim) const
25134 isl::space space::curry() const
25146 isl::space space::domain() const
25158 isl::multi_aff space::domain_map_multi_aff() const
25170 isl::pw_multi_aff space::domain_map_pw_multi_aff() const
25182 isl::space space::domain_reverse() const
25194 isl::id space::domain_tuple_id() const
25206 isl::id space::get_domain_tuple_id() const
25211 isl::space space::drop_all_params() const
25223 isl::space space::flatten_domain() const
25235 isl::space space::flatten_range() const
25271 isl::multi_aff space::identity_multi_aff_on_domain() const
25283 isl::multi_pw_aff space::identity_multi_pw_aff_on_domain() const
25295 isl::pw_multi_aff space::identity_pw_multi_aff_on_domain() const
25307 bool space::is_equal(const isl::space &space2) const
25331 isl::space space::map_from_set() const
25343 isl::multi_aff space::multi_aff(isl::aff_list list) const
25355 isl::multi_aff space::multi_aff_on_domain(isl::multi_val mv) const
25367 isl::multi_id space::multi_id(isl::id_list list) const
25379 isl::multi_pw_aff space::multi_pw_aff(isl::pw_aff_list list) const
25391 isl::multi_union_pw_aff space::multi_union_pw_aff(isl::union_pw_aff_list list) const
25403 isl::multi_val space::multi_val(isl::val_list list) const
25415 isl::aff space::param_aff_on_domain(isl::id id) const
25427 isl::aff space::param_aff_on_domain(const std::string &id) const
25431 return this->param_aff_on_domain(isl::id(ctx(), id));
25434 isl::space space::params() const
25446 isl::space space::product(isl::space right) const
25458 isl::space space::range() const
25470 isl::multi_aff space::range_map_multi_aff() const
25482 isl::pw_multi_aff space::range_map_pw_multi_aff() const
25494 isl::space space::range_reverse() const
25506 isl::id space::range_tuple_id() const
25518 isl::id space::get_range_tuple_id() const
25523 isl::space space::reverse() const
25535 isl::space space::set_domain_tuple(isl::id id) const
25547 isl::space space::set_domain_tuple(const std::string &id) const
25551 return this->set_domain_tuple(isl::id(ctx(), id));
25554 isl::space space::set_range_tuple(isl::id id) const
25566 isl::space space::set_range_tuple(const std::string &id) const
25570 return this->set_range_tuple(isl::id(ctx(), id));
25573 isl::space space::uncurry() const
25585 isl::space space::unit(isl::ctx ctx)
25595 isl::map space::universe_map() const
25607 isl::set space::universe_set() const
25619 isl::space space::unwrap() const
25631 isl::space space::wrap() const
25643 isl::space space::wrapped_reverse() const
25655 isl::aff space::zero_aff_on_domain() const
25667 isl::multi_aff space::zero_multi_aff() const
25679 isl::multi_pw_aff space::zero_multi_pw_aff() const
25691 isl::multi_union_pw_aff space::zero_multi_union_pw_aff() const
25703 isl::multi_val space::zero_multi_val() const
25729 // implementations for isl::union_access_info
25764 union_access_info::union_access_info(isl::union_map sink)
25804 isl::ctx union_access_info::ctx() const {
25805 return isl::ctx(isl_union_access_info_get_ctx(ptr));
25808 isl::union_flow union_access_info::compute_flow() const
25820 isl::union_access_info union_access_info::set_kill(isl::union_map kill) const
25832 isl::union_access_info union_access_info::set_may_source(isl::union_map may_source) const
25844 isl::union_access_info union_access_info::set_must_source(isl::union_map must_source) const
25856 isl::union_access_info union_access_info::set_schedule(isl::schedule schedule) const
25868 isl::union_access_info union_access_info::set_schedule_map(isl::union_map schedule_map) const
25894 // implementations for isl::union_flow
25957 isl::ctx union_flow::ctx() const {
25958 return isl::ctx(isl_union_flow_get_ctx(ptr));
25961 isl::union_map union_flow::full_may_dependence() const
25973 isl::union_map union_flow::get_full_may_dependence() const
25978 isl::union_map union_flow::full_must_dependence() const
25990 isl::union_map union_flow::get_full_must_dependence() const
25995 isl::union_map union_flow::may_dependence() const
26007 isl::union_map union_flow::get_may_dependence() const
26012 isl::union_map union_flow::may_no_source() const
26024 isl::union_map union_flow::get_may_no_source() const
26029 isl::union_map union_flow::must_dependence() const
26041 isl::union_map union_flow::get_must_dependence() const
26046 isl::union_map union_flow::must_no_source() const
26058 isl::union_map union_flow::get_must_no_source() const
26077 // implementations for isl::union_map
26112 union_map::union_map(isl::basic_map bmap)
26124 union_map::union_map(isl::map map)
26136 union_map::union_map(isl::ctx ctx, const std::string &str)
26174 isl::ctx union_map::ctx() const {
26175 return isl::ctx(isl_union_map_get_ctx(ptr));
26178 isl::union_map union_map::affine_hull() const
26190 isl::union_map union_map::apply_domain(isl::union_map umap2) const
26202 isl::union_map union_map::apply_range(isl::union_map umap2) const
26214 isl::map union_map::as_map() const
26226 isl::multi_union_pw_aff union_map::as_multi_union_pw_aff() const
26238 isl::union_pw_multi_aff union_map::as_union_pw_multi_aff() const
26250 isl::union_set union_map::bind_range(isl::multi_id tuple) const
26262 isl::union_map union_map::coalesce() const
26274 isl::union_map union_map::compute_divs() const
26286 isl::union_map union_map::curry() const
26298 isl::union_set union_map::deltas() const
26310 isl::union_map union_map::detect_equalities() const
26322 isl::union_set union_map::domain() const
26334 isl::union_map union_map::domain_factor_domain() const
26346 isl::union_map union_map::domain_factor_range() const
26358 isl::union_map union_map::domain_map() const
26370 isl::union_pw_multi_aff union_map::domain_map_union_pw_multi_aff() const
26382 isl::union_map union_map::domain_product(isl::union_map umap2) const
26394 isl::union_map union_map::domain_reverse() const
26406 isl::union_map union_map::drop_unused_params() const
26418 isl::union_map union_map::empty(isl::ctx ctx)
26428 isl::union_map union_map::eq_at(isl::multi_union_pw_aff mupa) const
26440 bool union_map::every_map(const std::function<bool(isl::map)> &test) const
26447 std::function<bool(isl::map)> func;
26468 isl::map union_map::extract_map(isl::space space) const
26480 isl::union_map union_map::factor_domain() const
26492 isl::union_map union_map::factor_range() const
26504 isl::union_map union_map::fixed_power(isl::val exp) const
26516 isl::union_map union_map::fixed_power(long exp) const
26520 return this->fixed_power(isl::val(ctx(), exp));
26523 void union_map::foreach_map(const std::function<void(isl::map)> &fn) const
26530 std::function<void(isl::map)> func;
26551 isl::union_map union_map::from(isl::multi_union_pw_aff mupa)
26563 isl::union_map union_map::from(isl::union_pw_multi_aff upma)
26575 isl::union_map union_map::from_domain(isl::union_set uset)
26587 isl::union_map union_map::from_domain_and_range(isl::union_set domain, isl::union_set range)
26599 isl::union_map union_map::from_range(isl::union_set uset)
26611 isl::union_map union_map::gist(isl::union_map context) const
26623 isl::union_map union_map::gist_domain(isl::union_set uset) const
26635 isl::union_map union_map::gist_params(isl::set set) const
26647 isl::union_map union_map::gist_range(isl::union_set uset) const
26659 isl::union_map union_map::intersect(isl::union_map umap2) const
26671 isl::union_map union_map::intersect_domain(isl::space space) const
26683 isl::union_map union_map::intersect_domain(isl::union_set uset) const
26695 isl::union_map union_map::intersect_domain_factor_domain(isl::union_map factor) const
26707 isl::union_map union_map::intersect_domain_factor_range(isl::union_map factor) const
26719 isl::union_map union_map::intersect_domain_wrapped_domain(isl::union_set domain) const
26731 isl::union_map union_map::intersect_params(isl::set set) const
26743 isl::union_map union_map::intersect_range(isl::space space) const
26755 isl::union_map union_map::intersect_range(isl::union_set uset) const
26767 isl::union_map union_map::intersect_range_factor_domain(isl::union_map factor) const
26779 isl::union_map union_map::intersect_range_factor_range(isl::union_map factor) const
26791 isl::union_map union_map::intersect_range_wrapped_domain(isl::union_set domain) const
26815 bool union_map::is_disjoint(const isl::union_map &umap2) const
26839 bool union_map::is_equal(const isl::union_map &umap2) const
26875 bool union_map::is_strict_subset(const isl::union_map &umap2) const
26887 bool union_map::is_subset(const isl::union_map &umap2) const
26911 isl::union_map union_map::lexmax() const
26923 isl::union_map union_map::lexmin() const
26935 isl::map_list union_map::map_list() const
26947 isl::map_list union_map::get_map_list() const
26952 isl::set union_map::params() const
26964 isl::union_map union_map::polyhedral_hull() const
26976 isl::union_map union_map::preimage_domain(isl::multi_aff ma) const
26988 isl::union_map union_map::preimage_domain(isl::multi_pw_aff mpa) const
27000 isl::union_map union_map::preimage_domain(isl::pw_multi_aff pma) const
27012 isl::union_map union_map::preimage_domain(isl::union_pw_multi_aff upma) const
27024 isl::union_map union_map::preimage_range(isl::multi_aff ma) const
27036 isl::union_map union_map::preimage_range(isl::pw_multi_aff pma) const
27048 isl::union_map union_map::preimage_range(isl::union_pw_multi_aff upma) const
27060 isl::union_map union_map::product(isl::union_map umap2) const
27072 isl::union_map union_map::project_out_all_params() const
27084 isl::union_map union_map::project_out_param(isl::id id) const
27096 isl::union_map union_map::project_out_param(const std::string &id) const
27100 return this->project_out_param(isl::id(ctx(), id));
27103 isl::union_map union_map::project_out_param(isl::id_list list) const
27115 isl::union_set union_map::range() const
27127 isl::union_map union_map::range_factor_domain() const
27139 isl::union_map union_map::range_factor_range() const
27151 isl::union_map union_map::range_map() const
27163 isl::union_map union_map::range_product(isl::union_map umap2) const
27175 isl::union_map union_map::range_reverse() const
27187 isl::union_map union_map::reverse() const
27199 isl::space union_map::space() const
27211 isl::space union_map::get_space() const
27216 isl::union_map union_map::subtract(isl::union_map umap2) const
27228 isl::union_map union_map::subtract_domain(isl::union_set dom) const
27240 isl::union_map union_map::subtract_range(isl::union_set dom) const
27252 isl::union_map union_map::uncurry() const
27264 isl::union_map union_map::unite(isl::union_map umap2) const
27276 isl::union_map union_map::universe() const
27288 isl::union_set union_map::wrap() const
27300 isl::union_map union_map::zip() const
27326 // implementations for isl::union_pw_aff
27361 union_pw_aff::union_pw_aff(isl::aff aff)
27373 union_pw_aff::union_pw_aff(isl::pw_aff pa)
27385 union_pw_aff::union_pw_aff(isl::ctx ctx, const std::string &str)
27423 isl::ctx union_pw_aff::ctx() const {
27424 return isl::ctx(isl_union_pw_aff_get_ctx(ptr));
27427 isl::multi_union_pw_aff union_pw_aff::add(const isl::multi_union_pw_aff &multi2) const
27431 return isl::multi_union_pw_aff(*this).add(multi2);
27434 isl::union_pw_aff union_pw_aff::add(isl::union_pw_aff upa2) const
27446 isl::union_pw_multi_aff union_pw_aff::add(const isl::union_pw_multi_aff &upma2) const
27450 return isl::union_pw_multi_aff(*this).add(upma2);
27453 isl::union_pw_aff union_pw_aff::add(const isl::aff &upa2) const
27457 return this->add(isl::union_pw_aff(upa2));
27460 isl::union_pw_aff union_pw_aff::add(const isl::pw_aff &upa2) const
27464 return this->add(isl::union_pw_aff(upa2));
27467 isl::union_pw_multi_aff union_pw_aff::apply(const isl::union_pw_multi_aff &upma2) const
27471 return isl::union_pw_multi_aff(*this).apply(upma2);
27474 isl::multi_union_pw_aff union_pw_aff::as_multi_union_pw_aff() const
27478 return isl::union_pw_multi_aff(*this).as_multi_union_pw_aff();
27481 isl::pw_multi_aff union_pw_aff::as_pw_multi_aff() const
27485 return isl::union_pw_multi_aff(*this).as_pw_multi_aff();
27488 isl::union_map union_pw_aff::as_union_map() const
27492 return isl::union_pw_multi_aff(*this).as_union_map();
27495 isl::union_pw_aff union_pw_aff::at(int pos) const
27499 return isl::multi_union_pw_aff(*this).at(pos);
27502 isl::union_set union_pw_aff::bind(const isl::multi_id &tuple) const
27506 return isl::multi_union_pw_aff(*this).bind(tuple);
27509 isl::union_set union_pw_aff::bind(isl::id id) const
27521 isl::union_set union_pw_aff::bind(const std::string &id) const
27525 return this->bind(isl::id(ctx(), id));
27528 isl::union_pw_aff union_pw_aff::coalesce() const
27540 isl::union_set union_pw_aff::domain() const
27552 isl::union_pw_aff union_pw_aff::drop_unused_params() const
27564 isl::pw_multi_aff union_pw_aff::extract_pw_multi_aff(const isl::space &space) const
27568 return isl::union_pw_multi_aff(*this).extract_pw_multi_aff(space);
27571 isl::multi_union_pw_aff union_pw_aff::flat_range_product(const isl::multi_union_pw_aff &multi2) const
27575 return isl::multi_union_pw_aff(*this).flat_range_product(multi2);
27578 isl::union_pw_multi_aff union_pw_aff::flat_range_product(const isl::union_pw_multi_aff &upma2) const
27582 return isl::union_pw_multi_aff(*this).flat_range_product(upma2);
27585 isl::union_pw_aff union_pw_aff::gist(isl::union_set context) const
27597 isl::multi_union_pw_aff union_pw_aff::gist_params(const isl::set &context) const
27601 return isl::multi_union_pw_aff(*this).gist_params(context);
27608 return isl::multi_union_pw_aff(*this).has_range_tuple_id();
27611 isl::union_pw_aff union_pw_aff::intersect_domain(isl::space space) const
27623 isl::union_pw_aff union_pw_aff::intersect_domain(isl::union_set uset) const
27635 isl::union_pw_aff union_pw_aff::intersect_domain_wrapped_domain(isl::union_set uset) const
27647 isl::union_pw_aff union_pw_aff::intersect_domain_wrapped_range(isl::union_set uset) const
27659 isl::union_pw_aff union_pw_aff::intersect_params(isl::set set) const
27675 return isl::union_pw_multi_aff(*this).involves_locals();
27682 return isl::multi_union_pw_aff(*this).involves_nan();
27689 return isl::union_pw_multi_aff(*this).isa_pw_multi_aff();
27692 isl::union_pw_aff_list union_pw_aff::list() const
27696 return isl::multi_union_pw_aff(*this).list();
27699 isl::multi_union_pw_aff union_pw_aff::neg() const
27703 return isl::multi_union_pw_aff(*this).neg();
27710 return isl::union_pw_multi_aff(*this).plain_is_empty();
27713 bool union_pw_aff::plain_is_equal(const isl::multi_union_pw_aff &multi2) const
27717 return isl::multi_union_pw_aff(*this).plain_is_equal(multi2);
27720 bool union_pw_aff::plain_is_equal(const isl::union_pw_aff &upa2) const
27732 bool union_pw_aff::plain_is_equal(const isl::union_pw_multi_aff &upma2) const
27736 return isl::union_pw_multi_aff(*this).plain_is_equal(upma2);
27739 bool union_pw_aff::plain_is_equal(const isl::aff &upa2) const
27743 return this->plain_is_equal(isl::union_pw_aff(upa2));
27746 bool union_pw_aff::plain_is_equal(const isl::pw_aff &upa2) const
27750 return this->plain_is_equal(isl::union_pw_aff(upa2));
27753 isl::union_pw_multi_aff union_pw_aff::preimage_domain_wrapped_domain(const isl::union_pw_multi_aff &upma2) const
27757 return isl::union_pw_multi_aff(*this).preimage_domain_wrapped_domain(upma2);
27760 isl::union_pw_aff union_pw_aff::pullback(isl::union_pw_multi_aff upma) const
27772 isl::pw_multi_aff_list union_pw_aff::pw_multi_aff_list() const
27776 return isl::union_pw_multi_aff(*this).pw_multi_aff_list();
27779 isl::union_pw_multi_aff union_pw_aff::range_factor_domain() const
27783 return isl::union_pw_multi_aff(*this).range_factor_domain();
27786 isl::union_pw_multi_aff union_pw_aff::range_factor_range() const
27790 return isl::union_pw_multi_aff(*this).range_factor_range();
27793 isl::multi_union_pw_aff union_pw_aff::range_product(const isl::multi_union_pw_aff &multi2) const
27797 return isl::multi_union_pw_aff(*this).range_product(multi2);
27800 isl::union_pw_multi_aff union_pw_aff::range_product(const isl::union_pw_multi_aff &upma2) const
27804 return isl::union_pw_multi_aff(*this).range_product(upma2);
27807 isl::id union_pw_aff::range_tuple_id() const
27811 return isl::multi_union_pw_aff(*this).range_tuple_id();
27814 isl::multi_union_pw_aff union_pw_aff::reset_range_tuple_id() const
27818 return isl::multi_union_pw_aff(*this).reset_range_tuple_id();
27821 isl::multi_union_pw_aff union_pw_aff::scale(const isl::multi_val &mv) const
27825 return isl::multi_union_pw_aff(*this).scale(mv);
27828 isl::multi_union_pw_aff union_pw_aff::scale(const isl::val &v) const
27832 return isl::multi_union_pw_aff(*this).scale(v);
27835 isl::multi_union_pw_aff union_pw_aff::scale(long v) const
27839 return this->scale(isl::val(ctx(), v));
27842 isl::multi_union_pw_aff union_pw_aff::scale_down(const isl::multi_val &mv) const
27846 return isl::multi_union_pw_aff(*this).scale_down(mv);
27849 isl::multi_union_pw_aff union_pw_aff::scale_down(const isl::val &v) const
27853 return isl::multi_union_pw_aff(*this).scale_down(v);
27856 isl::multi_union_pw_aff union_pw_aff::scale_down(long v) const
27860 return this->scale_down(isl::val(ctx(), v));
27863 isl::multi_union_pw_aff union_pw_aff::set_at(int pos, const isl::union_pw_aff &el) const
27867 return isl::multi_union_pw_aff(*this).set_at(pos, el);
27870 isl::multi_union_pw_aff union_pw_aff::set_range_tuple(const isl::id &id) const
27874 return isl::multi_union_pw_aff(*this).set_range_tuple(id);
27877 isl::multi_union_pw_aff union_pw_aff::set_range_tuple(const std::string &id) const
27881 return this->set_range_tuple(isl::id(ctx(), id));
27888 return isl::multi_union_pw_aff(*this).size();
27891 isl::space union_pw_aff::space() const
27903 isl::space union_pw_aff::get_space() const
27908 isl::multi_union_pw_aff union_pw_aff::sub(const isl::multi_union_pw_aff &multi2) const
27912 return isl::multi_union_pw_aff(*this).sub(multi2);
27915 isl::union_pw_aff union_pw_aff::sub(isl::union_pw_aff upa2) const
27927 isl::union_pw_multi_aff union_pw_aff::sub(const isl::union_pw_multi_aff &upma2) const
27931 return isl::union_pw_multi_aff(*this).sub(upma2);
27934 isl::union_pw_aff union_pw_aff::sub(const isl::aff &upa2) const
27938 return this->sub(isl::union_pw_aff(upa2));
27941 isl::union_pw_aff union_pw_aff::sub(const isl::pw_aff &upa2) const
27945 return this->sub(isl::union_pw_aff(upa2));
27948 isl::union_pw_aff union_pw_aff::subtract_domain(isl::space space) const
27960 isl::union_pw_aff union_pw_aff::subtract_domain(isl::union_set uset) const
27972 isl::union_pw_aff_list union_pw_aff::to_list() const
27984 isl::multi_union_pw_aff union_pw_aff::union_add(const isl::multi_union_pw_aff &mupa2) const
27988 return isl::multi_union_pw_aff(*this).union_add(mupa2);
27991 isl::union_pw_aff union_pw_aff::union_add(isl::union_pw_aff upa2) const
28003 isl::union_pw_multi_aff union_pw_aff::union_add(const isl::union_pw_multi_aff &upma2) const
28007 return isl::union_pw_multi_aff(*this).union_add(upma2);
28010 isl::union_pw_aff union_pw_aff::union_add(const isl::aff &upa2) const
28014 return this->union_add(isl::union_pw_aff(upa2));
28017 isl::union_pw_aff union_pw_aff::union_add(const isl::pw_aff &upa2) const
28021 return this->union_add(isl::union_pw_aff(upa2));
28038 // implementations for isl::union_pw_aff_list
28073 union_pw_aff_list::union_pw_aff_list(isl::ctx ctx, int n)
28083 union_pw_aff_list::union_pw_aff_list(isl::union_pw_aff el)
28095 union_pw_aff_list::union_pw_aff_list(isl::ctx ctx, const std::string &str)
28133 isl::ctx union_pw_aff_list::ctx() const {
28134 return isl::ctx(isl_union_pw_aff_list_get_ctx(ptr));
28137 isl::union_pw_aff_list union_pw_aff_list::add(isl::union_pw_aff el) const
28149 isl::union_pw_aff union_pw_aff_list::at(int index) const
28161 isl::union_pw_aff union_pw_aff_list::get_at(int index) const
28166 isl::union_pw_aff_list union_pw_aff_list::clear() const
28178 isl::union_pw_aff_list union_pw_aff_list::concat(isl::union_pw_aff_list list2) const
28190 isl::union_pw_aff_list union_pw_aff_list::drop(unsigned int first, unsigned int n) const
28202 void union_pw_aff_list::foreach(const std::function<void(isl::union_pw_aff)> &fn) const
28209 std::function<void(isl::union_pw_aff)> func;
28230 void union_pw_aff_list::foreach_scc(const std::function<bool(isl::union_pw_aff, isl::union_pw_aff)> &follows, const std::function<void(isl::union_pw_aff_list)> &fn) const
28237 std::function<bool(isl::union_pw_aff, isl::union_pw_aff)> func;
28251 std::function<void(isl::union_pw_aff_list)> func;
28274 isl::union_pw_aff_list union_pw_aff_list::insert(unsigned int pos, isl::union_pw_aff el) const
28286 isl::union_pw_aff_list union_pw_aff_list::set_at(int index, isl::union_pw_aff el) const
28324 // implementations for isl::union_pw_multi_aff
28359 union_pw_multi_aff::union_pw_multi_aff(isl::multi_aff ma)
28371 union_pw_multi_aff::union_pw_multi_aff(isl::pw_multi_aff pma)
28383 union_pw_multi_aff::union_pw_multi_aff(isl::union_pw_aff upa)
28395 union_pw_multi_aff::union_pw_multi_aff(isl::ctx ctx, const std::string &str)
28433 isl::ctx union_pw_multi_aff::ctx() const {
28434 return isl::ctx(isl_union_pw_multi_aff_get_ctx(ptr));
28437 isl::union_pw_multi_aff union_pw_multi_aff::add(isl::union_pw_multi_aff upma2) const
28449 isl::union_pw_multi_aff union_pw_multi_aff::apply(isl::union_pw_multi_aff upma2) const
28461 isl::multi_union_pw_aff union_pw_multi_aff::as_multi_union_pw_aff() const
28473 isl::pw_multi_aff union_pw_multi_aff::as_pw_multi_aff() const
28485 isl::union_map union_pw_multi_aff::as_union_map() const
28497 isl::union_pw_multi_aff union_pw_multi_aff::coalesce() const
28509 isl::union_set union_pw_multi_aff::domain() const
28521 isl::union_pw_multi_aff union_pw_multi_aff::drop_unused_params() const
28533 isl::union_pw_multi_aff union_pw_multi_aff::empty(isl::ctx ctx)
28543 isl::pw_multi_aff union_pw_multi_aff::extract_pw_multi_aff(isl::space space) const
28555 isl::union_pw_multi_aff union_pw_multi_aff::flat_range_product(isl::union_pw_multi_aff upma2) const
28567 isl::union_pw_multi_aff union_pw_multi_aff::gist(isl::union_set context) const
28579 isl::union_pw_multi_aff union_pw_multi_aff::intersect_domain(isl::space space) const
28591 isl::union_pw_multi_aff union_pw_multi_aff::intersect_domain(isl::union_set uset) const
28603 isl::union_pw_multi_aff union_pw_multi_aff::intersect_domain_wrapped_domain(isl::union_set uset) const
28615 isl::union_pw_multi_aff union_pw_multi_aff::intersect_domain_wrapped_range(isl::union_set uset) const
28627 isl::union_pw_multi_aff union_pw_multi_aff::intersect_params(isl::set set) const
28675 bool union_pw_multi_aff::plain_is_equal(const isl::union_pw_multi_aff &upma2) const
28687 isl::union_pw_multi_aff union_pw_multi_aff::preimage_domain_wrapped_domain(isl::union_pw_multi_aff upma2) const
28699 isl::union_pw_multi_aff union_pw_multi_aff::pullback(isl::union_pw_multi_aff upma2) const
28711 isl::pw_multi_aff_list union_pw_multi_aff::pw_multi_aff_list() const
28723 isl::pw_multi_aff_list union_pw_multi_aff::get_pw_multi_aff_list() const
28728 isl::union_pw_multi_aff union_pw_multi_aff::range_factor_domain() const
28740 isl::union_pw_multi_aff union_pw_multi_aff::range_factor_range() const
28752 isl::union_pw_multi_aff union_pw_multi_aff::range_product(isl::union_pw_multi_aff upma2) const
28764 isl::space union_pw_multi_aff::space() const
28776 isl::space union_pw_multi_aff::get_space() const
28781 isl::union_pw_multi_aff union_pw_multi_aff::sub(isl::union_pw_multi_aff upma2) const
28793 isl::union_pw_multi_aff union_pw_multi_aff::subtract_domain(isl::space space) const
28805 isl::union_pw_multi_aff union_pw_multi_aff::subtract_domain(isl::union_set uset) const
28817 isl::union_pw_multi_aff union_pw_multi_aff::union_add(isl::union_pw_multi_aff upma2) const
28843 // implementations for isl::union_set
28878 union_set::union_set(isl::basic_set bset)
28890 union_set::union_set(isl::point pnt)
28902 union_set::union_set(isl::set set)
28914 union_set::union_set(isl::ctx ctx, const std::string &str)
28952 isl::ctx union_set::ctx() const {
28953 return isl::ctx(isl_union_set_get_ctx(ptr));
28956 isl::union_set union_set::affine_hull() const
28968 isl::union_set union_set::apply(isl::union_map umap) const
28980 isl::set union_set::as_set() const
28992 isl::union_set union_set::coalesce() const
29004 isl::union_set union_set::compute_divs() const
29016 isl::union_set union_set::detect_equalities() const
29028 isl::union_set union_set::drop_unused_params() const
29040 isl::union_set union_set::empty(isl::ctx ctx)
29050 bool union_set::every_set(const std::function<bool(isl::set)> &test) const
29057 std::function<bool(isl::set)> func;
29078 isl::set union_set::extract_set(isl::space space) const
29090 void union_set::foreach_point(const std::function<void(isl::point)> &fn) const
29097 std::function<void(isl::point)> func;
29118 void union_set::foreach_set(const std::function<void(isl::set)> &fn) const
29125 std::function<void(isl::set)> func;
29146 isl::union_set union_set::gist(isl::union_set context) const
29158 isl::union_set union_set::gist_params(isl::set set) const
29170 isl::union_map union_set::identity() const
29182 isl::union_set union_set::intersect(isl::union_set uset2) const
29194 isl::union_set union_set::intersect_params(isl::set set) const
29206 bool union_set::is_disjoint(const isl::union_set &uset2) const
29230 bool union_set::is_equal(const isl::union_set &uset2) const
29242 bool union_set::is_strict_subset(const isl::union_set &uset2) const
29254 bool union_set::is_subset(const isl::union_set &uset2) const
29278 isl::union_set union_set::lexmax() const
29290 isl::union_set union_set::lexmin() const
29302 isl::set union_set::params() const
29314 isl::union_set union_set::polyhedral_hull() const
29326 isl::union_set union_set::preimage(isl::multi_aff ma) const
29338 isl::union_set union_set::preimage(isl::pw_multi_aff pma) const
29350 isl::union_set union_set::preimage(isl::union_pw_multi_aff upma) const
29362 isl::union_set union_set::project_out_all_params() const
29374 isl::point union_set::sample_point() const
29386 isl::set_list union_set::set_list() const
29398 isl::set_list union_set::get_set_list() const
29403 isl::space union_set::space() const
29415 isl::space union_set::get_space() const
29420 isl::union_set union_set::subtract(isl::union_set uset2) const
29432 isl::union_set_list union_set::to_list() const
29444 isl::union_set union_set::unite(isl::union_set uset2) const
29456 isl::union_set union_set::universe() const
29468 isl::union_map union_set::unwrap() const
29494 // implementations for isl::union_set_list
29529 union_set_list::union_set_list(isl::ctx ctx, int n)
29539 union_set_list::union_set_list(isl::union_set el)
29551 union_set_list::union_set_list(isl::ctx ctx, const std::string &str)
29589 isl::ctx union_set_list::ctx() const {
29590 return isl::ctx(isl_union_set_list_get_ctx(ptr));
29593 isl::union_set_list union_set_list::add(isl::union_set el) const
29605 isl::union_set union_set_list::at(int index) const
29617 isl::union_set union_set_list::get_at(int index) const
29622 isl::union_set_list union_set_list::clear() const
29634 isl::union_set_list union_set_list::concat(isl::union_set_list list2) const
29646 isl::union_set_list union_set_list::drop(unsigned int first, unsigned int n) const
29658 void union_set_list::foreach(const std::function<void(isl::union_set)> &fn) const
29665 std::function<void(isl::union_set)> func;
29686 void union_set_list::foreach_scc(const std::function<bool(isl::union_set, isl::union_set)> &follows, const std::function<void(isl::union_set_list)> &fn) const
29693 std::function<bool(isl::union_set, isl::union_set)> func;
29707 std::function<void(isl::union_set_list)> func;
29730 isl::union_set_list union_set_list::insert(unsigned int pos, isl::union_set el) const
29742 isl::union_set_list union_set_list::set_at(int index, isl::union_set el) const
29780 // implementations for isl::val
29815 val::val(isl::ctx ctx, long i)
29825 val::val(isl::ctx ctx, const std::string &str)
29863 isl::ctx val::ctx() const {
29864 return isl::ctx(isl_val_get_ctx(ptr));
29867 isl::val val::abs() const
29879 bool val::abs_eq(const isl::val &v2) const
29895 return this->abs_eq(isl::val(ctx(), v2));
29898 isl::val val::add(isl::val v2) const
29910 isl::val val::add(long v2) const
29914 return this->add(isl::val(ctx(), v2));
29917 isl::val val::ceil() const
29954 isl::val val::div(isl::val v2) const
29966 isl::val val::div(long v2) const
29970 return this->div(isl::val(ctx(), v2));
29973 bool val::eq(const isl::val &v2) const
29989 return this->eq(isl::val(ctx(), v2));
29992 isl::val val::floor() const
30004 isl::val val::gcd(isl::val v2) const
30016 isl::val val::gcd(long v2) const
30020 return this->gcd(isl::val(ctx(), v2));
30023 bool val::ge(const isl::val &v2) const
30039 return this->ge(isl::val(ctx(), v2));
30042 bool val::gt(const isl::val &v2) const
30058 return this->gt(isl::val(ctx(), v2));
30061 isl::val val::infty(isl::ctx ctx)
30071 isl::val val::inv() const
30083 bool val::is_divisible_by(const isl::val &v2) const
30099 return this->is_divisible_by(isl::val(ctx(), v2));
30246 bool val::le(const isl::val &v2) const
30262 return this->le(isl::val(ctx(), v2));
30265 bool val::lt(const isl::val &v2) const
30281 return this->lt(isl::val(ctx(), v2));
30284 isl::val val::max(isl::val v2) const
30296 isl::val val::max(long v2) const
30300 return this->max(isl::val(ctx(), v2));
30303 isl::val val::min(isl::val v2) const
30315 isl::val val::min(long v2) const
30319 return this->min(isl::val(ctx(), v2));
30322 isl::val val::mod(isl::val v2) const
30334 isl::val val::mod(long v2) const
30338 return this->mod(isl::val(ctx(), v2));
30341 isl::val val::mul(isl::val v2) const
30353 isl::val val::mul(long v2) const
30357 return this->mul(isl::val(ctx(), v2));
30360 isl::val val::nan(isl::ctx ctx)
30370 bool val::ne(const isl::val &v2) const
30386 return this->ne(isl::val(ctx(), v2));
30389 isl::val val::neg() const
30401 isl::val val::neginfty(isl::ctx ctx)
30411 isl::val val::negone(isl::ctx ctx)
30436 isl::val val::one(isl::ctx ctx)
30446 isl::val val::pow2() const
30468 isl::val val::sub(isl::val v2) const
30480 isl::val val::sub(long v2) const
30484 return this->sub(isl::val(ctx(), v2));
30487 isl::val_list val::to_list() const
30499 isl::val val::trunc() const
30511 isl::val val::zero(isl::ctx ctx)
30535 // implementations for isl::val_list
30570 val_list::val_list(isl::ctx ctx, int n)
30580 val_list::val_list(isl::val el)
30592 val_list::val_list(isl::ctx ctx, const std::string &str)
30630 isl::ctx val_list::ctx() const {
30631 return isl::ctx(isl_val_list_get_ctx(ptr));
30634 isl::val_list val_list::add(isl::val el) const
30646 isl::val_list val_list::add(long el) const
30650 return this->add(isl::val(ctx(), el));
30653 isl::val val_list::at(int index) const
30665 isl::val val_list::get_at(int index) const
30670 isl::val_list val_list::clear() const
30682 isl::val_list val_list::concat(isl::val_list list2) const
30694 isl::val_list val_list::drop(unsigned int first, unsigned int n) const
30706 void val_list::foreach(const std::function<void(isl::val)> &fn) const
30713 std::function<void(isl::val)> func;
30734 void val_list::foreach_scc(const std::function<bool(isl::val, isl::val)> &follows, const std::function<void(isl::val_list)> &fn) const
30741 std::function<bool(isl::val, isl::val)> func;
30755 std::function<void(isl::val_list)> func;
30778 isl::val_list val_list::insert(unsigned int pos, isl::val el) const
30790 isl::val_list val_list::insert(unsigned int pos, long el) const
30794 return this->insert(pos, isl::val(ctx(), el));
30797 isl::val_list val_list::set_at(int index, isl::val el) const
30809 isl::val_list val_list::set_at(int index, long el) const
30813 return this->set_at(index, isl::val(ctx(), el));
30841 } // namespace isl