#include <isl_morph.h>
#include <isl_seq.h>
#include <isl_map_private.h>
+#include <isl_mat_private.h>
#include <isl_dim_private.h>
#include <isl_equalities.h>
if (!dom || !ran || !map || !inv)
goto error;
- morph = isl_alloc_type(in_dim->ctx, struct isl_morph);
+ morph = isl_alloc_type(dom->ctx, struct isl_morph);
if (!morph)
goto error;
return isl_dim_copy(morph->ran->dim);
}
+unsigned isl_morph_dom_dim(__isl_keep isl_morph *morph, enum isl_dim_type type)
+{
+ if (!morph)
+ return 0;
+
+ return isl_basic_set_dim(morph->dom, type);
+}
+
+unsigned isl_morph_ran_dim(__isl_keep isl_morph *morph, enum isl_dim_type type)
+{
+ if (!morph)
+ return 0;
+
+ return isl_basic_set_dim(morph->ran, type);
+}
+
__isl_give isl_morph *isl_morph_remove_dom_dims(__isl_take isl_morph *morph,
enum isl_dim_type type, unsigned first, unsigned n)
{