X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_morph.c;h=8a526e79cf3b49d48faba2ece8d7a062e7fd58aa;hb=88e08a163e4032c1a673ac770223fd98f2cd05da;hp=7e249078e9bc9f2bb9633f2adc932742e5497007;hpb=f3c292bf31fbb13ce50a8877ee71910897276a24;p=platform%2Fupstream%2Fisl.git diff --git a/isl_morph.c b/isl_morph.c index 7e24907..8a526e7 100644 --- a/isl_morph.c +++ b/isl_morph.c @@ -8,9 +8,9 @@ * 91893 Orsay, France */ +#include #include #include -#include #include #include #include @@ -631,6 +631,9 @@ __isl_give isl_basic_set *isl_morph_basic_set(__isl_take isl_morph *morph, res = add_strides(res, morph); + if (isl_basic_set_is_rational(bset)) + res = isl_basic_set_set_rational(res); + res = isl_basic_set_simplify(res); res = isl_basic_set_finalize(res); @@ -757,3 +760,19 @@ __isl_give isl_morph *isl_basic_set_full_compression( return morph; } + +__isl_give isl_vec *isl_morph_vec(__isl_take isl_morph *morph, + __isl_take isl_vec *vec) +{ + if (!morph) + goto error; + + vec = isl_mat_vec_product(isl_mat_copy(morph->map), vec); + + isl_morph_free(morph); + return vec; +error: + isl_morph_free(morph); + isl_vec_free(vec); + return NULL; +}