Polly
20.0.0git
llvm-project
polly
lib
External
isl
isl_pw_split_dims_templ.c
Go to the documentation of this file.
1
/*
2
* Copyright 2010 INRIA Saclay
3
*
4
* Use of this software is governed by the MIT license
5
*
6
* Written by Sven Verdoolaege, INRIA Saclay - Ile-de-France,
7
* Parc Club Orsay Universite, ZAC des vignes, 4 rue Jacques Monod,
8
* 91893 Orsay, France
9
*/
10
11
#include <
isl_pw_macro.h
>
12
13
__isl_give
PW
*
FN
(
PW
,split_dims)(
__isl_take
PW
*pw,
14
enum
isl_dim_type
type
,
unsigned
first,
unsigned
n
)
15
{
16
int
i;
17
isl_size
n_piece;
18
19
n_piece =
FN
(
PW
,n_piece)(pw);
20
if
(n_piece < 0)
21
return
FN
(
PW
,free)(pw);
22
if
(
n
== 0)
23
return
pw;
24
25
if
(
type
==
isl_dim_in
)
26
type
=
isl_dim_set
;
27
28
for
(i = 0; i <
n
; ++i) {
29
isl_set
*
domain
;
30
31
domain
=
FN
(
PW
,take_domain_at)(pw, i);
32
domain
=
isl_set_split_dims
(
domain
,
type
, first,
n
);
33
pw =
FN
(
PW
,restore_domain_at)(pw, i,
domain
);
34
}
35
36
return
pw;
37
}
FN
#define FN(TYPE, NAME)
Definition:
check_parse_fail_test_templ.c:15
__isl_take
#define __isl_take
Definition:
ctx.h:22
__isl_give
#define __isl_give
Definition:
ctx.h:19
isl_size
int isl_size
Definition:
ctx.h:96
PW
#define PW
Definition:
isl_aff.c:4582
isl_pw_macro.h
type
enum isl_fold type
Definition:
isl_test.c:4017
isl_set
struct isl_set isl_set
Definition:
map_type.h:26
isl_set_split_dims
__isl_give isl_set * isl_set_split_dims(__isl_take isl_set *set, enum isl_dim_type type, unsigned first, unsigned n)
Definition:
isl_map.c:8990
isl_dim_type
isl_dim_type
Definition:
space_type.h:13
isl_dim_in
@ isl_dim_in
Definition:
space_type.h:16
isl_dim_set
@ isl_dim_set
Definition:
space_type.h:18
domain
static Signature domain
Definition:
template_cpp.cc:602
n
n
Definition:
youcefn.c:8
Generated on Wed Nov 13 2024 03:17:26 for Polly by
1.9.6