/* * Copyright 2012 Ecole Normale Superieure * Copyright 2017 Sven Verdoolaege * * Use of this software is governed by the MIT license * * Written by Sven Verdoolaege, * Ecole Normale Superieure, 45 rue d'Ulm, 75230 Paris, France */ #define xFN(TYPE,NAME) … #define FN(TYPE,NAME) … /* Drop the "n" domain dimensions starting at "first" from "obj", * after checking that they do not appear in the affine expression. */ static __isl_give TYPE *FN(TYPE,drop_domain)(__isl_take TYPE *obj, unsigned first, unsigned n) { … } /* Check that the domain of "obj" is a product. */ static isl_stat FN(TYPE,check_domain_product)(__isl_keep TYPE *obj) { … } /* Given an affine function with a domain of the form [A -> B] that * does not depend on B, return the same function on domain A. */ __isl_give TYPE *FN(TYPE,domain_factor_domain)(__isl_take TYPE *obj) { … }