Commit e06f258 (isl_map_transitive_closure: break early if input map
doesn't compose with itself) added a special case to construct_component,
but neglected to include the identity map in the result.
assert(isl_map_is_equal(map, map2));
isl_map_free(map);
isl_map_free(map2);
+
+ str = "{[0] -> [1]; [2] -> [3]}";
+ map = isl_map_read_from_str(ctx, str, -1);
+ map = isl_map_transitive_closure(map, &exact);
+ assert(exact);
+ map2 = isl_map_read_from_str(ctx, str, -1);
+ assert(isl_map_is_equal(map, map2));
+ isl_map_free(map);
+ isl_map_free(map2);
}
void test_lexmin(struct isl_ctx *ctx)
isl_set_free(domain);
isl_set_free(range);
isl_set_free(overlap);
- isl_dim_free(dim);
map = isl_map_copy(map);
map = isl_map_add(map, isl_dim_in, 1);
map = isl_map_add(map, isl_dim_out, 1);
map = set_path_length(map, 1, 1);
+ map = isl_map_union(map, isl_map_identity(isl_dim_domain(dim)));
return map;
}
isl_set_free(overlap);