/* * Copyright 2019 Cerebras Systems * * Use of this software is governed by the MIT license * * Written by Sven Verdoolaege, * Cerebras Systems, 175 S San Antonio Rd, Los Altos, CA, USA */ #define xFN(TYPE,NAME) … #define FN(TYPE,NAME) … /* Return a list of minima (maxima if "max" is set) * for each of the expressions in "f" over their (shared) domain. * * An element in the list is infinity or negative infinity if the optimal * value of the corresponding expression is unbounded and * NaN if the domain of the expression is empty. * * Iterate over all the expressions in "f" and collect the results. */ static __isl_give isl_multi_val *FN(TYPE,opt_multi_val)(__isl_take TYPE *f, int max) { … } /* Return a list of minima * for each of the expressions in "f" over their (shared) domain. * * An element in the list is negative infinity if the optimal * value of the corresponding expression is unbounded and * NaN if the domain of the expression is empty. */ __isl_give isl_multi_val *FN(TYPE,min_multi_val)(__isl_take TYPE *f) { … } /* Return a list of maxima * for each of the expressions in "f" over their (shared) domain. * * An element in the list is infinity if the optimal * value of the corresponding expression is unbounded and * NaN if the domain of the expression is empty. */ __isl_give isl_multi_val *FN(TYPE,max_multi_val)(__isl_take TYPE *f) { … }