/* * Copyright 2010 INRIA Saclay * * 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 */ #include <isl_union_macro.h> /* Evaluate "u" in the void point "pnt". * In particular, return the value NaN. */ static __isl_give isl_val *FN(UNION,eval_void)(__isl_take UNION *u, __isl_take isl_point *pnt) { … } /* Internal data structure for isl_union_*_eval. * * "pnt" is the point in which the function is evaluated. * "v" stores the result and is initialized to zero. */ S(UNION,eval_data) { … }; /* Update the evaluation in data->v based on the evaluation of "part". * * Only (at most) a single part on which this function is called * is assumed to evaluate to anything other than zero. * Since the value is initialized to zero, the evaluation of "part" * can simply be added. */ static isl_stat FN(UNION,eval_entry)(__isl_take PART *part, void *user) { … } /* Evaluate "u" in the point "pnt". */ __isl_give isl_val *FN(UNION,eval)(__isl_take UNION *u, __isl_take isl_point *pnt) { … }