2 * Copyright 2019 Cerebras Systems
4 * Use of this software is governed by the MIT license
6 * Written by Sven Verdoolaege,
7 * Cerebras Systems, 175 S San Antonio Rd, Los Altos, CA, USA
10 #include <isl/space.h>
12 #include <isl_multi_macro.h>
14 /* Given a multi expression on a domain (A -> B),
15 * interchange A and B in the wrapped domain
16 * to obtain a multi expression on the domain (B -> A).
18 __isl_give
MULTI(BASE
) *FN(MULTI(BASE
),domain_reverse
)(
19 __isl_take
MULTI(BASE
) *multi
)
21 S(MULTI(BASE
),un_op_control
) control
= {
22 .fn_space
= &isl_space_domain_reverse
,
23 .fn_el
= &FN(EL
,domain_reverse
),
25 return FN(MULTI(BASE
),un_op
)(multi
, &control
);