dune-common 2.12-git
Loading...
Searching...
No Matches
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType > Struct Template Reference

Operations of lane proxies with std::experimental::simd types. More...

#include <dune/common/simd/stdsimd.hh>

Public Types

using value_type = ValueType
 

Public Member Functions

DUNE_SIMD_STDSIMD_BINARY * DUNE_SIMD_STDSIMD_BINARY (/);DUNE_SIMD_STDSIMD_BINARY(%
 
 DUNE_SIMD_STDSIMD_BINARY (+)
 
 DUNE_SIMD_STDSIMD_BINARY (-)
 
 DUNE_SIMD_STDSIMD_BINARY (<<)
 
 DUNE_SIMD_STDSIMD_BINARY (> >)
 
DUNE_SIMD_STDSIMD_BINARY & DUNE_SIMD_STDSIMD_BINARY (^);DUNE_SIMD_STDSIMD_BINARY(|
 
 DUNE_SIMD_STDSIMD_BINARY (<)
 
 DUNE_SIMD_STDSIMD_BINARY (>)
 
 DUNE_SIMD_STDSIMD_BINARY (<=)
 
 DUNE_SIMD_STDSIMD_BINARY (>=)
 
 DUNE_SIMD_STDSIMD_BINARY (==)
 
 DUNE_SIMD_STDSIMD_BINARY (!=)
 
DUNE_SIMD_STDSIMD_ASSIGN * DUNE_SIMD_STDSIMD_ASSIGN (/=);DUNE_SIMD_STDSIMD_ASSIGN(%=
 
 DUNE_SIMD_STDSIMD_ASSIGN (+=)
 
 DUNE_SIMD_STDSIMD_ASSIGN (-=)
 
DUNE_SIMD_STDSIMD_ASSIGN & DUNE_SIMD_STDSIMD_ASSIGN (^=);DUNE_SIMD_STDSIMD_ASSIGN(|=
 
 DUNE_SIMD_STDSIMD_ASSIGN (<<=)
 
 DUNE_SIMD_STDSIMD_ASSIGN (> >=)
 

Detailed Description

template<class Proxy, class ValueType>
struct Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >

Operations of lane proxies with std::experimental::simd types.

Base class of the lane proxy, see Impl::ValueProxy. Proxy is the proxy class, ValueType its value_type.

The library's vectors broadcast from anything that converts to their scalar type, including the proxy. For operations with a vector of another scalar type this can make the library's operators ambiguous, e.g. for w << lane(l, v) with w of type simd<int> and v of type simd<unsigned>. These overloads match exactly and do the operation with the scalar, so the proxy behaves like the scalar it represents.

Member Typedef Documentation

◆ value_type

template<class Proxy , class ValueType >
using Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::value_type = ValueType

Member Function Documentation

◆ DUNE_SIMD_STDSIMD_ASSIGN() [1/6]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_ASSIGN ( +  )

◆ DUNE_SIMD_STDSIMD_ASSIGN() [2/6]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_ASSIGN ( -  )

◆ DUNE_SIMD_STDSIMD_ASSIGN() [3/6]

template<class Proxy , class ValueType >
DUNE_SIMD_STDSIMD_ASSIGN * Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_ASSIGN ( /  )

◆ DUNE_SIMD_STDSIMD_ASSIGN() [4/6]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_ASSIGN ( <<  )

◆ DUNE_SIMD_STDSIMD_ASSIGN() [5/6]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_ASSIGN ( >=  )

◆ DUNE_SIMD_STDSIMD_ASSIGN() [6/6]

template<class Proxy , class ValueType >
DUNE_SIMD_STDSIMD_ASSIGN & Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_ASSIGN ( ^  )

◆ DUNE_SIMD_STDSIMD_BINARY() [1/12]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_BINARY ( !  )

◆ DUNE_SIMD_STDSIMD_BINARY() [2/12]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_BINARY ( +  )

◆ DUNE_SIMD_STDSIMD_BINARY() [3/12]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_BINARY ( -  )

◆ DUNE_SIMD_STDSIMD_BINARY() [4/12]

template<class Proxy , class ValueType >
DUNE_SIMD_STDSIMD_BINARY * Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_BINARY ( /  )

◆ DUNE_SIMD_STDSIMD_BINARY() [5/12]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_BINARY ( )

◆ DUNE_SIMD_STDSIMD_BINARY() [6/12]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_BINARY ( <<  )

◆ DUNE_SIMD_STDSIMD_BINARY() [7/12]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_BINARY ( <=  )

◆ DUNE_SIMD_STDSIMD_BINARY() [8/12]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_BINARY ( )

◆ DUNE_SIMD_STDSIMD_BINARY() [9/12]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_BINARY ( )

◆ DUNE_SIMD_STDSIMD_BINARY() [10/12]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_BINARY ( )

◆ DUNE_SIMD_STDSIMD_BINARY() [11/12]

template<class Proxy , class ValueType >
Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_BINARY ( >=  )

◆ DUNE_SIMD_STDSIMD_BINARY() [12/12]

template<class Proxy , class ValueType >
DUNE_SIMD_STDSIMD_BINARY & Dune::Simd::StdSimdImpl::ProxyOperations< Proxy, ValueType >::DUNE_SIMD_STDSIMD_BINARY ( ^  )

The documentation for this struct was generated from the following file: