dune-common 2.9.0
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
Dune::LoopSIMD< T, S, A > Class Template Reference

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

Inheritance diagram for Dune::LoopSIMD< T, S, A >:
Inheritance graph

Public Member Functions

 LoopSIMD ()
 
 LoopSIMD (Simd::Scalar< T > i)
 
template<std::size_t OA>
 LoopSIMD (const LoopSIMD< T, S, OA > &other)
 
 DUNE_SIMD_LOOP_PREFIX_OP (++)
 
 DUNE_SIMD_LOOP_PREFIX_OP (--)
 
 DUNE_SIMD_LOOP_UNARY_OP (+)
 
 DUNE_SIMD_LOOP_UNARY_OP (-)
 
 DUNE_SIMD_LOOP_UNARY_OP (~)
 
auto operator! () const
 
 DUNE_SIMD_LOOP_POSTFIX_OP (++)
 
 DUNE_SIMD_LOOP_POSTFIX_OP (--)
 
 DUNE_SIMD_LOOP_ASSIGNMENT_OP (+=)
 
 DUNE_SIMD_LOOP_ASSIGNMENT_OP (-=)
 
DUNE_SIMD_LOOP_ASSIGNMENT_OP * DUNE_SIMD_LOOP_ASSIGNMENT_OP (/=);DUNE_SIMD_LOOP_ASSIGNMENT_OP(%=
 
 DUNE_SIMD_LOOP_ASSIGNMENT_OP (<<=)
 
 DUNE_SIMD_LOOP_ASSIGNMENT_OP (> >=)
 
DUNE_SIMD_LOOP_ASSIGNMENT_OP & DUNE_SIMD_LOOP_ASSIGNMENT_OP (|=);DUNE_SIMD_LOOP_ASSIGNMENT_OP(^=
 

Public Attributes

elements
 STL member.
 

Detailed Description

template<class T, std::size_t S, std::size_t A = 0>
class Dune::LoopSIMD< T, S, A >

This class specifies a vector-like type deriving from std::array for memory management and basic accessibility. This type is capable of dealing with all (well-defined) operators and is usable with the SIMD-interface.

Template Parameters
TBase type. Could also be vectorized type.
SSize
minimumalignment. It is inherited to rebound types.

Constructor & Destructor Documentation

◆ LoopSIMD() [1/3]

template<class T , std::size_t S, std::size_t A = 0>
Dune::LoopSIMD< T, S, A >::LoopSIMD ( )
inline

◆ LoopSIMD() [2/3]

template<class T , std::size_t S, std::size_t A = 0>
Dune::LoopSIMD< T, S, A >::LoopSIMD ( Simd::Scalar< T >  i)
inline

◆ LoopSIMD() [3/3]

template<class T , std::size_t S, std::size_t A = 0>
template<std::size_t OA>
Dune::LoopSIMD< T, S, A >::LoopSIMD ( const LoopSIMD< T, S, OA > &  other)
inlineexplicit

Member Function Documentation

◆ DUNE_SIMD_LOOP_ASSIGNMENT_OP() [1/6]

template<class T , std::size_t S, std::size_t A = 0>
Dune::LoopSIMD< T, S, A >::DUNE_SIMD_LOOP_ASSIGNMENT_OP ( )

◆ DUNE_SIMD_LOOP_ASSIGNMENT_OP() [2/6]

template<class T , std::size_t S, std::size_t A = 0>
Dune::LoopSIMD< T, S, A >::DUNE_SIMD_LOOP_ASSIGNMENT_OP ( )

◆ DUNE_SIMD_LOOP_ASSIGNMENT_OP() [3/6]

template<class T , std::size_t S, std::size_t A = 0>
DUNE_SIMD_LOOP_ASSIGNMENT_OP * Dune::LoopSIMD< T, S, A >::DUNE_SIMD_LOOP_ASSIGNMENT_OP ( )

◆ DUNE_SIMD_LOOP_ASSIGNMENT_OP() [4/6]

template<class T , std::size_t S, std::size_t A = 0>
Dune::LoopSIMD< T, S, A >::DUNE_SIMD_LOOP_ASSIGNMENT_OP ( <<  )

◆ DUNE_SIMD_LOOP_ASSIGNMENT_OP() [5/6]

template<class T , std::size_t S, std::size_t A = 0>
Dune::LoopSIMD< T, S, A >::DUNE_SIMD_LOOP_ASSIGNMENT_OP ( >=  )

◆ DUNE_SIMD_LOOP_ASSIGNMENT_OP() [6/6]

template<class T , std::size_t S, std::size_t A = 0>
DUNE_SIMD_LOOP_ASSIGNMENT_OP & Dune::LoopSIMD< T, S, A >::DUNE_SIMD_LOOP_ASSIGNMENT_OP ( )

◆ DUNE_SIMD_LOOP_POSTFIX_OP() [1/2]

template<class T , std::size_t S, std::size_t A = 0>
Dune::LoopSIMD< T, S, A >::DUNE_SIMD_LOOP_POSTFIX_OP ( ++  )

◆ DUNE_SIMD_LOOP_POSTFIX_OP() [2/2]

template<class T , std::size_t S, std::size_t A = 0>
Dune::LoopSIMD< T, S, A >::DUNE_SIMD_LOOP_POSTFIX_OP ( --  )

◆ DUNE_SIMD_LOOP_PREFIX_OP() [1/2]

template<class T , std::size_t S, std::size_t A = 0>
Dune::LoopSIMD< T, S, A >::DUNE_SIMD_LOOP_PREFIX_OP ( ++  )

◆ DUNE_SIMD_LOOP_PREFIX_OP() [2/2]

template<class T , std::size_t S, std::size_t A = 0>
Dune::LoopSIMD< T, S, A >::DUNE_SIMD_LOOP_PREFIX_OP ( --  )

◆ DUNE_SIMD_LOOP_UNARY_OP() [1/3]

template<class T , std::size_t S, std::size_t A = 0>
Dune::LoopSIMD< T, S, A >::DUNE_SIMD_LOOP_UNARY_OP ( )

◆ DUNE_SIMD_LOOP_UNARY_OP() [2/3]

template<class T , std::size_t S, std::size_t A = 0>
Dune::LoopSIMD< T, S, A >::DUNE_SIMD_LOOP_UNARY_OP ( )

◆ DUNE_SIMD_LOOP_UNARY_OP() [3/3]

template<class T , std::size_t S, std::size_t A = 0>
Dune::LoopSIMD< T, S, A >::DUNE_SIMD_LOOP_UNARY_OP ( )

◆ operator!()

template<class T , std::size_t S, std::size_t A = 0>
auto Dune::LoopSIMD< T, S, A >::operator! ( ) const
inline

Member Data Documentation

◆ elements

T std::array< T >::elements
inherited

STL member.


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