dune-common  2.6-git
Classes | Namespaces | Typedefs | Functions
simd.hh File Reference
#include <cassert>
#include <cstddef>
#include <type_traits>
#include <utility>
#include <dune/common/conditional.hh>
#include <dune/common/rangeutilities.hh>
#include <dune/common/vc.hh>

Go to the source code of this file.

Classes

struct  Dune::SimdScalarTypeTraits< T >
 
struct  Dune::SimdIndexTypeTraits< V, typename >
 
struct  Dune::SimdMaskTypeTraits< V, typename >
 

Namespaces

 Dune
 Dune namespace.
 

Typedefs

template<typename T >
using Dune::SimdScalar = typename SimdScalarTypeTraits< T >::type
 
template<typename V >
using Dune::SimdIndex = typename SimdIndexTypeTraits< V >::type
 An simd vector of indices corresponding to a simd vector V. More...
 
template<typename V >
using Dune::SimdMask = typename SimdMaskTypeTraits< V >::type
 A simd vector of truth values corresponding to a simd vector V. More...
 

Functions

template<class T >
std::size_t Dune::lanes (const T &)
 get the number of lanes of a simd vector (scalar version) More...
 
template<class T >
Dune::lane (std::size_t l, const T &v)
 access a lane of a simd vector (scalar version) More...
 
template<class T >
T & Dune::lane (std::size_t l, T &v)
 access a lane of a simd vector (scalar version) More...
 
template<class T >
void Dune::assign (T &dst, const T &src, bool mask)
 masked Simd assignment (scalar version) More...
 
template<class T >
void Dune::swap (T &v1, T &v2, bool mask)