Polly 23.0.0git
isl_pw_domain_reverse_templ.c
Go to the documentation of this file.
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 */
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}
#define FN(TYPE, NAME)
#define __isl_take
Definition ctx.h:22
#define __isl_give
Definition ctx.h:19
#define PW
Definition isl_aff.c:2897
#define EL
#define S(TYPE, NAME)
__isl_export __isl_give isl_set * isl_set_wrapped_reverse(__isl_take isl_set *set)
Definition isl_map.c:7825
__isl_export __isl_give isl_space * isl_space_domain_reverse(__isl_take isl_space *space)
Definition isl_space.c:2115
static std::vector< Signature > un_op