/* * Copyright 2010 INRIA Saclay * Copyright 2013 Ecole Normale Superieure * * Use of this software is governed by the MIT license * * Written by Sven Verdoolaege, INRIA Saclay - Ile-de-France, * Parc Club Orsay Universite, ZAC des vignes, 4 rue Jacques Monod, * 91893 Orsay, France * and Ecole Normale Superieure, 45 rue d'Ulm, 75230 Paris, France */ #include <isl/val.h> #include <isl_space_private.h> #include <isl_point_private.h> #include <isl_pw_macro.h> #undef SUFFIX #define SUFFIX … #undef ARG1 #define ARG1 … #undef ARG2 #define ARG2 … static #include "isl_align_params_templ.c" /* Evaluate "pw" in the void point "pnt". * In particular, return the value NaN. */ static __isl_give isl_val *FN(PW,eval_void)(__isl_take PW *pw, __isl_take isl_point *pnt) { … } /* Evaluate the piecewise function "pw" in "pnt". * If the point is void, then return NaN. * If the point lies outside the domain of "pw", then return 0 or NaN * depending on whether 0 is the default value for this type of function. * * Align the parameters if needed, but "pnt" should specify a value * for all parameters in "pw". */ __isl_give isl_val *FN(PW,eval)(__isl_take PW *pw, __isl_take isl_point *pnt) { … }