1 | /* Copyright (C) 2016 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_SIMD_TYPES_GENERIC_INL |
9 | #define LIBSIMDPP_SIMD_TYPES_GENERIC_INL |
10 | |
11 | #include <simdpp/setup_arch.h> |
12 | #include <simdpp/expr.h> |
13 | #include <simdpp/detail/expr/bit_and.h> |
14 | #include <simdpp/detail/expr/bit_andnot.h> |
15 | #include <simdpp/detail/expr/bit_not.h> |
16 | #include <simdpp/detail/expr/bit_or.h> |
17 | #include <simdpp/detail/expr/blend.h> |
18 | #include <simdpp/detail/expr/f_abs.h> |
19 | #include <simdpp/detail/expr/f_add.h> |
20 | #include <simdpp/detail/expr/f_fmadd.h> |
21 | #include <simdpp/detail/expr/f_fmsub.h> |
22 | #include <simdpp/detail/expr/f_mul.h> |
23 | #include <simdpp/detail/expr/f_neg.h> |
24 | #include <simdpp/detail/expr/f_sub.h> |
25 | #include <simdpp/detail/expr/i_abs.h> |
26 | #include <simdpp/detail/expr/i_add.h> |
27 | #include <simdpp/detail/expr/i_add_sat.h> |
28 | #include <simdpp/detail/expr/i_mul.h> |
29 | #include <simdpp/detail/expr/i_mull.h> |
30 | #include <simdpp/detail/expr/i_neg.h> |
31 | #include <simdpp/detail/expr/i_sub.h> |
32 | #include <simdpp/detail/expr/i_sub_sat.h> |
33 | #include <simdpp/detail/expr/scalar.h> |
34 | #include <simdpp/detail/expr/splat_n.h> |
35 | #include <simdpp/detail/expr/test_bits.h> |
36 | #include <simdpp/detail/expr/vec.h> |
37 | |
38 | namespace simdpp { |
39 | namespace SIMDPP_ARCH_NAMESPACE { |
40 | namespace detail { |
41 | |
42 | template<class R, class E> struct expr_eval_wrapper { |
43 | static SIMDPP_INL R eval(const E& e) { return expr_eval<R, E>::eval(e); } |
44 | }; |
45 | |
46 | } // namespace detail |
47 | } // namespace SIMDPP_ARCH_NAMESPACE |
48 | } // namespace simdpp |
49 | |
50 | #endif |
51 |