/* * Copyright 2012 Ecole Normale Superieure * * Use of this software is governed by the MIT license * * Written by Sven Verdoolaege, * Ecole Normale Superieure, 45 rue d'Ulm, 75230 Paris, France */ #include <isl/space.h> #include <isl/local_space.h> #include <isl_multi_macro.h> /* Create a multi expression in the given space that maps each * input dimension to the corresponding output dimension. */ __isl_give MULTI(BASE) *FN(MULTI(BASE),identity)(__isl_take isl_space *space) { … } /* Create a multi expression that maps elements in the given space * to themselves. */ __isl_give MULTI(BASE) *FN(MULTI(BASE),identity_on_domain_space)( __isl_take isl_space *space) { … } /* This function performs the same operation as * isl_multi_*_identity_on_domain_space, * but is considered as a function on an isl_space when exported. */ __isl_give MULTI(BASE) *FN(FN(isl_space_identity_multi,BASE),on_domain)( __isl_take isl_space *space) { … } /* Create a multi expression in the same space as "multi" that maps each * input dimension to the corresponding output dimension. */ __isl_give MULTI(BASE) *FN(FN(MULTI(BASE),identity_multi),BASE)( __isl_take MULTI(BASE) *multi) { … }