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 #define xCAT(A,B) A ## B
11 #define CAT(A,B) xCAT(A,B)
13 #define TYPE CAT(isl_,BASE)
14 #define xBFN(BASE,NAME) isl_ ## BASE ## _ ## NAME
15 #define BFN(BASE,NAME) xBFN(BASE,NAME)
17 /* Copy the identifier of tuple "src_type" in "src"
18 * to that of "dst_type" in "dst", if there is any such identifier.
20 __isl_give TYPE
*BFN(BASE
,copy_tuple_id
)(__isl_take TYPE
*dst
,
21 enum isl_dim_type dst_type
, __isl_keep isl_space
*src
,
22 enum isl_dim_type src_type
)
27 has_id
= isl_space_has_tuple_id(src
, src_type
);
29 return FN(TYPE
,free
)(dst
);
33 id
= isl_space_get_tuple_id(src
, src_type
);
34 dst
= FN(TYPE
,set_tuple_id
)(dst
, dst_type
, id
);