Home | History | Annotate | Download | only in dist

Lines Matching refs:map1

512 /* Return an empty map living in the same space as "map1" and "map2".
514 static __isl_give isl_map *replace_pair_by_empty( __isl_take isl_map *map1,
519 space = isl_map_get_space(map1);
520 isl_map_free(map1);
525 /* Return the set difference between map1 and map2.
528 * If "map1" and "map2" are obviously equal to each other,
531 * If "map1" and "map2" are disjoint, then simply return "map1".
533 __isl_give isl_map *isl_map_subtract( __isl_take isl_map *map1,
540 if (isl_map_align_params_bin(&map1, &map2) < 0)
542 if (isl_map_check_equal_space(map1, map2) < 0)
545 equal = isl_map_plain_is_equal(map1, map2);
549 return replace_pair_by_empty(map1, map2);
551 disjoint = isl_map_is_disjoint(map1, map2);
556 return map1;
559 map1 = isl_map_compute_divs(map1);
561 if (!map1 || !map2)
564 map1 = isl_map_remove_empty_parts(map1);
567 diff = isl_map_empty(isl_map_get_space(map1));
568 for (i = 0; i < map1->n; ++i) {
570 d = basic_map_subtract(isl_basic_map_copy(map1->p[i]),
572 if (ISL_F_ISSET(map1, ISL_MAP_DISJOINT))
578 isl_map_free(map1);
583 isl_map_free(map1);
691 /* Check if map1 \ map2 is empty by checking if the set difference is empty
692 * for each of the basic maps in map1.
694 static isl_bool map_diff_is_empty(__isl_keep isl_map *map1,
700 if (!map1 || !map2)
703 for (i = 0; i < map1->n; ++i) {
704 is_empty = basic_map_diff_is_empty(map1->p[i], map2);
795 /* Return isl_bool_true if the singleton map "map1" is a subset of "map2",
796 * i.e., if the single element of "map1" is also an element of "map2".
799 static isl_bool map_is_singleton_subset(__isl_keep isl_map *map1,
806 if (!map1 || !map2)
808 if (map1->n != 1)
809 isl_die(isl_map_get_ctx(map1), isl_error_invalid,
813 point = singleton_extract_point(map1->p[0]);
827 static isl_bool map_is_subset(__isl_keep isl_map *map1,
834 if (!map1 || !map2)
837 if (!isl_map_has_equal_space(map1, map2))
840 empty = isl_map_is_empty(map1);
852 rat1 = isl_map_has_rational(map1);
862 single = isl_map_plain_is_singleton(map1);
867 is_subset = map_is_singleton_subset(map1, map2);
871 is_subset = map_diff_is_empty(map1, map2);
877 isl_bool isl_map_is_subset(__isl_keep isl_map *map1, __isl_keep isl_map *map2)
879 return isl_map_align_params_map_map_and_test(map1, map2,