/* * Copyright 2013 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/set.h> #include <isl_multi_macro.h> /* This function is called for each element in a tuple inside * isl_stream_read_multi_*. * Read an EL from "s" and add it to *list. */ static __isl_give isl_space *FN(read_el,BASE)(__isl_keep isl_stream *s, struct vars *v, __isl_take isl_space *space, int rational, void *user) { … } /* Read a multi expression from "s". * * We first read a tuple space, collecting the element values in a list. * Then we create an isl_multi_* from the space and the isl_*_list. */ __isl_give MULTI(BASE) *FN(isl_stream_read_multi,BASE)( __isl_keep isl_stream *s) { … } #undef TYPE_BASE #define TYPE_BASE … #include "isl_read_from_str_templ.c"