1 | /* Copyright (C) 2015 Povilas Kanapickas <povilas@radix.lt> |
2 | |
3 | Distributed under the Boost Software License, Version 1.0. |
4 | (See accompanying file LICENSE_1_0.txt or copy at |
5 | http://www.boost.org/LICENSE_1_0.txt) |
6 | */ |
7 | |
8 | #ifndef LIBSIMDPP_SIMDPP_DETAIL_PREPROCESSOR_H |
9 | #define LIBSIMDPP_SIMDPP_DETAIL_PREPROCESSOR_H |
10 | |
11 | // This file contains several common preprocessor utilities |
12 | |
13 | // Concatenates x1 and x2. The concatenation is performed before the arguments |
14 | // are evaluated |
15 | #define SIMDPP_PP_CAT22(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22) \ |
16 | x1 ## x2 ## x3 ## x4 ## x5 ## x6 ## x7 ## x8 ## x9 ## x10 ## x11 ## x12 ## x13 ## x14 ## x15 ## x16 ## x17 ## x18 ## x19 ## x20 ## x21 ## x22 |
17 | |
18 | // Evaluates the arguments and concatenates the result |
19 | #define SIMDPP_PP_PASTE22(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22) \ |
20 | SIMDPP_PP_CAT22(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22) |
21 | |
22 | #endif |
23 | |
24 | |