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
38namespace simdpp {
39namespace SIMDPP_ARCH_NAMESPACE {
40namespace detail {
41
42template<class R, class E> struct expr_eval_wrapper {
43static 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