xref: /netbsd-src/external/mit/isl/dist/isl_pw_domain_reverse_templ.c (revision 5971e316fdea024efff6be8f03536623db06833e)
1 /*
2  * Copyright 2019      Cerebras Systems
3  *
4  * Use of this software is governed by the MIT license
5  *
6  * Written by Sven Verdoolaege,
7  * Cerebras Systems, 175 S San Antonio Rd, Los Altos, CA, USA
8  */
9 
10 #include <isl/space.h>
11 #include <isl/set.h>
12 
13 /* Given a piecewise function on a domain (A -> B),
14  * interchange A and B in the wrapped domain
15  * to obtain a function on the domain (B -> A).
16  */
FN(PW,domain_reverse)17 __isl_give PW *FN(PW,domain_reverse)(__isl_take PW *pw)
18 {
19 	S(PW,un_op_control) control = {
20 		.fn_space = &isl_space_domain_reverse,
21 		.fn_domain = &isl_set_wrapped_reverse,
22 		.fn_base = &FN(EL,domain_reverse),
23 	};
24 	return FN(PW,un_op)(pw, &control);
25 }
26