isl_test_cpp17-generic.cc: work around std::optional::value issue in older macOS
[isl.git] / isl_multi_apply_no_explicit_domain_templ.c
blob56876efab63e07ad9abbd1394f8e48459136e3e5
1 /*
2 * Copyright 2022 Cerebras Systems
4 * Use of this software is governed by the MIT license
6 * Written by Sven Verdoolaege,
7 * Cerebras Systems, 1237 E Arques Ave, Sunnyvale, CA, USA
8 */
10 /* Transform the explicit domain of "multi" by applying "fn_domain" or
11 * "fn_params" to it with extra argument "domain".
12 * In particular, if the explicit domain is a parameter set,
13 * then apply "fn_params". Otherwise, apply "fn_domain".
15 * Do this for a type MULTI(BASE) that cannot have an explicit domain.
16 * That is, this function is never called.
19 static __isl_give MULTI(BASE) *FN(FN(MULTI(BASE),apply_domain),APPLY_DOMBASE)(
20 __isl_take MULTI(BASE) *multi, __isl_take isl_set *domain,
21 __isl_give DOM *(*fn_domain)(DOM *domain, __isl_take APPLY_DOM *set),
22 __isl_give DOM *(*fn_params)(DOM *domain, __isl_take isl_set *set))
24 isl_set_free(domain);
26 return multi;
29 #include <isl_multi_apply_templ.c>