TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
Simd_template< _TYPE_ > Class Template Reference

This class provides a generic access to simd operations on x86, x86 AMD and ARM architectures. More...

#include <Simd_template.h>

Public Types

using value_type = _TYPE_

Public Member Functions

 Simd_template ()
 Simd_template (_TYPE_ x)
void operator+= (Simd_template a)
void operator*= (Simd_template a)
void operator-= (Simd_template a)
_TYPE_ & operator[] (int idx)
_TYPE_ operator[] (int idx) const
_TYPE_ sumReduction ()

Static Public Member Functions

static int size ()

Public Attributes

_TYPE_ data_

Detailed Description

template<typename _TYPE_>
class Simd_template< _TYPE_ >

This class provides a generic access to simd operations on x86, x86 AMD and ARM architectures.

Functionalities provided by the class are :

  • load vector size aligned data from memory (SimdGet)
  • getting x[i-1] and x[i+1] for finite difference algorithms (SimdGetAtLeft, SimdGetAtRight, etc)
  • arithmetic operations (+ - * /)
  • conditional affectation (SimdSelect)

Definition at line 40 of file Simd_template.h.

Member Typedef Documentation

◆ value_type

template<typename _TYPE_>
using Simd_template< _TYPE_ >::value_type = _TYPE_

Definition at line 43 of file Simd_template.h.

Constructor & Destructor Documentation

◆ Simd_template() [1/2]

template<typename _TYPE_>
Simd_template< _TYPE_ >::Simd_template ( )
inline

Definition at line 47 of file Simd_template.h.

◆ Simd_template() [2/2]

template<typename _TYPE_>
Simd_template< _TYPE_ >::Simd_template ( _TYPE_ x)
inline

Definition at line 49 of file Simd_template.h.

Member Function Documentation

◆ operator*=()

template<typename _TYPE_>
void Simd_template< _TYPE_ >::operator*= ( Simd_template< _TYPE_ > a)
inline

Definition at line 63 of file Simd_template.h.

◆ operator+=()

template<typename _TYPE_>
void Simd_template< _TYPE_ >::operator+= ( Simd_template< _TYPE_ > a)
inline

Definition at line 62 of file Simd_template.h.

◆ operator-=()

template<typename _TYPE_>
void Simd_template< _TYPE_ >::operator-= ( Simd_template< _TYPE_ > a)
inline

Definition at line 64 of file Simd_template.h.

◆ operator[]() [1/2]

template<typename _TYPE_>
_TYPE_ & Simd_template< _TYPE_ >::operator[] ( int idx)
inline

Definition at line 66 of file Simd_template.h.

◆ operator[]() [2/2]

template<typename _TYPE_>
_TYPE_ Simd_template< _TYPE_ >::operator[] ( int idx) const
inline

Definition at line 76 of file Simd_template.h.

◆ size()

template<typename _TYPE_>
int Simd_template< _TYPE_ >::size ( )
inlinestatic

Definition at line 54 of file Simd_template.h.

◆ sumReduction()

template<typename _TYPE_>
_TYPE_ Simd_template< _TYPE_ >::sumReduction ( )
inline

Definition at line 86 of file Simd_template.h.

Member Data Documentation

◆ data_

template<typename _TYPE_>
_TYPE_ Simd_template< _TYPE_ >::data_

Definition at line 101 of file Simd_template.h.


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