|
dune-common 2.10
|
Common tests for simd abstraction implementations. More...
#include <algorithm>#include <cstddef>#include <iostream>#include <sstream>#include <string>#include <type_traits>#include <typeindex>#include <typeinfo>#include <unordered_set>#include <utility>#include <dune/common/classname.hh>#include <dune/common/hybridutilities.hh>#include <dune/common/rangeutilities.hh>#include <dune/common/simd/io.hh>#include <dune/common/simd/loop.hh>#include <dune/common/simd/simd.hh>#include <dune/common/std/type_traits.hh>#include <dune/common/typelist.hh>#include <dune/common/typetraits.hh>Go to the source code of this file.
Classes | |
| struct | Dune::Simd::EndMark |
| final element marker for RebindList More... | |
| class | Dune::Simd::UnitTest |
Namespaces | |
| namespace | Dune |
| Dune namespace. | |
| namespace | Dune::Simd |
| Namespace for vectorization interface functions used by library developers. | |
Macros | |
| #define | DUNE_SIMD_CHECK(expr) |
| #define | DUNE_SIMD_CHECK_OP(expr) |
| #define | DUNE_SIMD_POSTFIX_OP(NAME, SYMBOL) |
| #define | DUNE_SIMD_PREFIX_OP(NAME, SYMBOL) |
| #define | DUNE_SIMD_OPNAME (className<Op(V)>()) |
| #define | DUNE_SIMD_INFIX_OP(NAME, SYMBOL) |
| #define | DUNE_SIMD_ASSIGN_OP(NAME, SYMBOL) |
| #define | DUNE_SIMD_REPL_OP(NAME, REPLFN, SYMBOL) |
| #define | DUNE_SIMD_OPNAME (className<OpInfixComma(T1, T2)>()) |
| #define | DUNE_SIMD_OPNAME (className<Op(V1, V2)>()) |
| #define | DUNE_SIMD_OPNAME (className<Op(V1, T2)>()) |
| #define | DUNE_SIMD_OPNAME (className<Op(V1, T2)>()) |
| #define | DUNE_SIMD_OPNAME (className<Op(V1, P2)>()) |
| #define | DUNE_SIMD_DO(M1, M2, M3, V1, V2, V3, NAME) |
Typedefs | |
| template<class... Types> | |
| using | Dune::Simd::RebindList |
| A list of types with the final element removed. | |
| template<class T> | |
| using | Dune::Simd::IsLoop = typename Impl::IsLoop<T>::type |
| check whether a type is an instance of LoopSIMD | |
Common tests for simd abstraction implementations.
This file is an interface header and may be included without restrictions.
| #define DUNE_SIMD_ASSIGN_OP | ( | NAME, | |
| SYMBOL ) |
| #define DUNE_SIMD_CHECK | ( | expr | ) |
| #define DUNE_SIMD_CHECK_OP | ( | expr | ) |
| #define DUNE_SIMD_DO | ( | M1, | |
| M2, | |||
| M3, | |||
| V1, | |||
| V2, | |||
| V3, | |||
| NAME ) |
| #define DUNE_SIMD_INFIX_OP | ( | NAME, | |
| SYMBOL ) |
| #define DUNE_SIMD_OPNAME (className<Op(V1, P2)>()) |
| #define DUNE_SIMD_OPNAME (className<Op(V1, T2)>()) |
| #define DUNE_SIMD_OPNAME (className<Op(V1, T2)>()) |
| #define DUNE_SIMD_OPNAME (className<Op(V1, V2)>()) |
| #define DUNE_SIMD_OPNAME (className<OpInfixComma(T1, T2)>()) |
| #define DUNE_SIMD_OPNAME (className<Op(V)>()) |
| #define DUNE_SIMD_POSTFIX_OP | ( | NAME, | |
| SYMBOL ) |
| #define DUNE_SIMD_PREFIX_OP | ( | NAME, | |
| SYMBOL ) |
| #define DUNE_SIMD_REPL_OP | ( | NAME, | |
| REPLFN, | |||
| SYMBOL ) |