Dune Core Modules (2.8.0)
vc.hh File Reference
SIMD abstractions for Vc. More...
#include <cstddef>
#include <type_traits>
#include <utility>
#include <dune/common/indices.hh>
#include <dune/common/simd/base.hh>
#include <dune/common/simd/defaults.hh>
#include <dune/common/simd/loop.hh>
#include <dune/common/typetraits.hh>
#include <dune/common/vc.hh>
Go to the source code of this file.
Namespaces | |
namespace | Dune |
Dune namespace. | |
namespace | Dune::Simd |
Namespace for vectorization interface functions used by library developers. | |
namespace | Dune::Simd::Overloads |
Namespace for the overloads and specializations that make up a SIMD implementation. | |
Functions | |
Specialized classes and overloaded functions | |
template<class V > | |
VcImpl::Proxy< V > | Dune::Simd::Overloads::lane (ADLTag< 5, VcImpl::IsVector< V >::value >, std::size_t l, V &v) |
implements Simd::lane() | |
template<class V > | |
Scalar< V > | Dune::Simd::Overloads::lane (ADLTag< 5, VcImpl::IsVector< V >::value >, std::size_t l, const V &v) |
implements Simd::lane() | |
template<class V , class = std::enable_if_t<!std::is_reference<V>::value>> | |
Scalar< V > | Dune::Simd::Overloads::lane (ADLTag< 5, VcImpl::IsVector< V >::value >, std::size_t l, V &&v) |
implements Simd::lane() | |
template<class V > | |
V | Dune::Simd::Overloads::cond (ADLTag< 5, VcImpl::IsVector< V >::value &&!VcImpl::IsMask< V >::value >, const Mask< V > &mask, const V &ifTrue, const V &ifFalse) |
implements Simd::cond() | |
template<class V > | |
V | Dune::Simd::Overloads::cond (ADLTag< 5, VcImpl::IsMask< V >::value >, const V &mask, const V &ifTrue, const V &ifFalse) |
implements Simd::cond() | |
template<class V > | |
auto | Dune::Simd::Overloads::max (ADLTag< 5, VcImpl::IsVector< V >::value &&!VcImpl::IsMask< V >::value >, const V &v1, const V &v2) |
implements binary Simd::max() | |
template<class M > | |
auto | Dune::Simd::Overloads::max (ADLTag< 5, VcImpl::IsMask< M >::value >, const M &m1, const M &m2) |
implements binary Simd::max() | |
template<class V > | |
auto | Dune::Simd::Overloads::min (ADLTag< 5, VcImpl::IsVector< V >::value &&!VcImpl::IsMask< V >::value >, const V &v1, const V &v2) |
implements binary Simd::min() | |
template<class M > | |
auto | Dune::Simd::Overloads::min (ADLTag< 5, VcImpl::IsMask< M >::value >, const M &m1, const M &m2) |
implements binary Simd::min() | |
template<class M > | |
bool | Dune::Simd::Overloads::anyTrue (ADLTag< 5, VcImpl::IsMask< M >::value >, const M &mask) |
implements Simd::anyTrue() | |
template<class M > | |
bool | Dune::Simd::Overloads::allTrue (ADLTag< 5, VcImpl::IsMask< M >::value >, const M &mask) |
implements Simd::allTrue() | |
template<class M > | |
bool | Dune::Simd::Overloads::allFalse (ADLTag< 5, VcImpl::IsMask< M >::value >, const M &mask) |
implements Simd::allFalse() | |
template<class V > | |
auto | Dune::Simd::Overloads::max (ADLTag< 5, VcImpl::IsVector< V >::value &&!VcImpl::IsMask< V >::value >, const V &v) |
implements Simd::maxValue() | |
template<class M > | |
bool | Dune::Simd::Overloads::max (ADLTag< 5, VcImpl::IsMask< M >::value >, const M &mask) |
implements Simd::maxValue() | |
template<class V > | |
auto | Dune::Simd::Overloads::min (ADLTag< 5, VcImpl::IsVector< V >::value &&!VcImpl::IsMask< V >::value >, const V &v) |
implements Simd::minValue() | |
template<class M > | |
bool | Dune::Simd::Overloads::min (ADLTag< 5, VcImpl::IsMask< M >::value >, const M &mask) |
implements Simd::minValue() | |
template<class S1 , class V2 > | |
auto | Dune::Simd::Overloads::maskAnd (ADLTag< 5, std::is_same< Mask< S1 >, bool >::value &&VcImpl::IsVector< V2 >::value >, const S1 &s1, const V2 &v2) |
implements Simd::maskAnd() | |
template<class V1 , class S2 > | |
auto | Dune::Simd::Overloads::maskAnd (ADLTag< 5, VcImpl::IsVector< V1 >::value &&std::is_same< Mask< S2 >, bool >::value >, const V1 &v1, const S2 &s2) |
implements Simd::maskAnd() | |
template<class S1 , class V2 > | |
auto | Dune::Simd::Overloads::maskOr (ADLTag< 5, std::is_same< Mask< S1 >, bool >::value &&VcImpl::IsVector< V2 >::value >, const S1 &s1, const V2 &v2) |
implements Simd::maskOr() | |
template<class V1 , class S2 > | |
auto | Dune::Simd::Overloads::maskOr (ADLTag< 5, VcImpl::IsVector< V1 >::value &&std::is_same< Mask< S2 >, bool >::value >, const V1 &v1, const S2 &s2) |
implements Simd::maskOr() | |
Detailed Description
SIMD abstractions for Vc.
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Nov 22, 23:33, 2024)