| 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 | |