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