MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::AutoSIMD< double, 4, 32 > Struct Reference

#include <m256.hpp>

Collaboration diagram for mfem::AutoSIMD< double, 4, 32 >:
[legend]

Public Types

typedef double scalar_type
 
typedef double scalar_type
 

Public Member Functions

 AutoSIMD ()=default
 
 AutoSIMD (const AutoSIMD &)=default
 
MFEM_ALWAYS_INLINE double & operator[] (int i)
 
MFEM_ALWAYS_INLINE const double & operator[] (int i) const
 
MFEM_ALWAYS_INLINE AutoSIMDoperator= (const AutoSIMD &v)
 
MFEM_ALWAYS_INLINE AutoSIMDoperator= (const double &e)
 
MFEM_ALWAYS_INLINE AutoSIMDoperator+= (const AutoSIMD &v)
 
MFEM_ALWAYS_INLINE AutoSIMDoperator+= (const double &e)
 
MFEM_ALWAYS_INLINE AutoSIMDoperator-= (const AutoSIMD &v)
 
MFEM_ALWAYS_INLINE AutoSIMDoperator-= (const double &e)
 
MFEM_ALWAYS_INLINE AutoSIMDoperator*= (const AutoSIMD &v)
 
MFEM_ALWAYS_INLINE AutoSIMDoperator*= (const double &e)
 
MFEM_ALWAYS_INLINE AutoSIMDoperator/= (const AutoSIMD &v)
 
MFEM_ALWAYS_INLINE AutoSIMDoperator/= (const double &e)
 
MFEM_ALWAYS_INLINE AutoSIMD operator- () const
 
MFEM_ALWAYS_INLINE AutoSIMD operator+ () const
 
MFEM_ALWAYS_INLINE AutoSIMD operator+ (const AutoSIMD &v) const
 
MFEM_ALWAYS_INLINE AutoSIMD operator+ (const double &e) const
 
MFEM_ALWAYS_INLINE AutoSIMD operator- (const AutoSIMD &v) const
 
MFEM_ALWAYS_INLINE AutoSIMD operator- (const double &e) const
 
MFEM_ALWAYS_INLINE AutoSIMD operator* (const AutoSIMD &v) const
 
MFEM_ALWAYS_INLINE AutoSIMD operator* (const double &e) const
 
MFEM_ALWAYS_INLINE AutoSIMD operator/ (const AutoSIMD &v) const
 
MFEM_ALWAYS_INLINE AutoSIMD operator/ (const double &e) const
 
MFEM_ALWAYS_INLINE AutoSIMDfma (const AutoSIMD &v, const AutoSIMD &w)
 
MFEM_ALWAYS_INLINE AutoSIMDfma (const AutoSIMD &v, const double &e)
 
MFEM_ALWAYS_INLINE AutoSIMDfma (const double &e, const AutoSIMD &v)
 
MFEM_ALWAYS_INLINE AutoSIMDmul (const AutoSIMD &v, const AutoSIMD &w)
 
MFEM_ALWAYS_INLINE AutoSIMDmul (const AutoSIMD &v, const double &e)
 
MFEM_ALWAYS_INLINE AutoSIMDmul (const double &e, const AutoSIMD &v)
 
 AutoSIMD ()=default
 
 AutoSIMD (const AutoSIMD &)=default
 
__ATTRS_ai double & operator[] (int i)
 
__ATTRS_ai const double & operator[] (int i) const
 
__ATTRS_ai AutoSIMDoperator= (const AutoSIMD &v)
 
__ATTRS_ai AutoSIMDoperator= (const double &e)
 
__ATTRS_ai AutoSIMDoperator+= (const AutoSIMD &v)
 
__ATTRS_ai AutoSIMDoperator+= (const double &e)
 
__ATTRS_ai AutoSIMDoperator-= (const AutoSIMD &v)
 
__ATTRS_ai AutoSIMDoperator-= (const double &e)
 
__ATTRS_ai AutoSIMDoperator*= (const AutoSIMD &v)
 
__ATTRS_ai AutoSIMDoperator*= (const double &e)
 
__ATTRS_ai AutoSIMDoperator/= (const AutoSIMD &v)
 
__ATTRS_ai AutoSIMDoperator/= (const double &e)
 
__ATTRS_ai AutoSIMD operator- () const
 
__ATTRS_ai AutoSIMD operator+ () const
 
__ATTRS_ai AutoSIMD operator+ (const AutoSIMD &v) const
 
__ATTRS_ai AutoSIMD operator+ (const double &e) const
 
__ATTRS_ai AutoSIMD operator- (const AutoSIMD &v) const
 
__ATTRS_ai AutoSIMD operator- (const double &e) const
 
__ATTRS_ai AutoSIMD operator* (const AutoSIMD &v) const
 
__ATTRS_ai AutoSIMD operator* (const double &e) const
 
__ATTRS_ai AutoSIMD operator/ (const AutoSIMD &v) const
 
__ATTRS_ai AutoSIMD operator/ (const double &e) const
 
__ATTRS_ai AutoSIMDfma (const AutoSIMD &v, const AutoSIMD &w)
 
__ATTRS_ai AutoSIMDfma (const AutoSIMD &v, const double &e)
 
__ATTRS_ai AutoSIMDfma (const double &e, const AutoSIMD &v)
 
__ATTRS_ai AutoSIMDmul (const AutoSIMD &v, const AutoSIMD &w)
 
__ATTRS_ai AutoSIMDmul (const AutoSIMD &v, const double &e)
 
__ATTRS_ai AutoSIMDmul (const double &e, const AutoSIMD &v)
 

Public Attributes

union mfem::AutoSIMD< double, 4, 32 >:: { ... }  
 
union mfem::AutoSIMD< double, 4, 32 >:: { ... }  
 

Static Public Attributes

static constexpr int size = 4
 
static constexpr int align_bytes = 32
 

Detailed Description

Definition at line 25 of file qpx256.hpp.

Member Typedef Documentation

◆ scalar_type [1/2]

typedef double mfem::AutoSIMD< double, 4, 32 >::scalar_type

Definition at line 31 of file m256.hpp.

◆ scalar_type [2/2]

typedef double mfem::AutoSIMD< double, 4, 32 >::scalar_type

Definition at line 27 of file qpx256.hpp.

Constructor & Destructor Documentation

◆ AutoSIMD() [1/4]

mfem::AutoSIMD< double, 4, 32 >::AutoSIMD ( )
default

◆ AutoSIMD() [2/4]

mfem::AutoSIMD< double, 4, 32 >::AutoSIMD ( const AutoSIMD< double, 4, 32 > & )
default

◆ AutoSIMD() [3/4]

mfem::AutoSIMD< double, 4, 32 >::AutoSIMD ( )
default

◆ AutoSIMD() [4/4]

mfem::AutoSIMD< double, 4, 32 >::AutoSIMD ( const AutoSIMD< double, 4, 32 > & )
default

Member Function Documentation

◆ fma() [1/6]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::fma ( const AutoSIMD< double, 4, 32 > & v,
const AutoSIMD< double, 4, 32 > & w )
inline

Definition at line 183 of file m256.hpp.

◆ fma() [2/6]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::fma ( const AutoSIMD< double, 4, 32 > & v,
const AutoSIMD< double, 4, 32 > & w )
inline

Definition at line 173 of file qpx256.hpp.

◆ fma() [3/6]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::fma ( const AutoSIMD< double, 4, 32 > & v,
const double & e )
inline

Definition at line 193 of file m256.hpp.

◆ fma() [4/6]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::fma ( const AutoSIMD< double, 4, 32 > & v,
const double & e )
inline

Definition at line 179 of file qpx256.hpp.

◆ fma() [5/6]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::fma ( const double & e,
const AutoSIMD< double, 4, 32 > & v )
inline

Definition at line 203 of file m256.hpp.

◆ fma() [6/6]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::fma ( const double & e,
const AutoSIMD< double, 4, 32 > & v )
inline

Definition at line 185 of file qpx256.hpp.

◆ mul() [1/6]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::mul ( const AutoSIMD< double, 4, 32 > & v,
const AutoSIMD< double, 4, 32 > & w )
inline

Definition at line 213 of file m256.hpp.

◆ mul() [2/6]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::mul ( const AutoSIMD< double, 4, 32 > & v,
const AutoSIMD< double, 4, 32 > & w )
inline

Definition at line 191 of file qpx256.hpp.

◆ mul() [3/6]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::mul ( const AutoSIMD< double, 4, 32 > & v,
const double & e )
inline

Definition at line 219 of file m256.hpp.

◆ mul() [4/6]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::mul ( const AutoSIMD< double, 4, 32 > & v,
const double & e )
inline

Definition at line 197 of file qpx256.hpp.

◆ mul() [5/6]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::mul ( const double & e,
const AutoSIMD< double, 4, 32 > & v )
inline

Definition at line 225 of file m256.hpp.

◆ mul() [6/6]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::mul ( const double & e,
const AutoSIMD< double, 4, 32 > & v )
inline

Definition at line 203 of file qpx256.hpp.

◆ operator*() [1/4]

MFEM_ALWAYS_INLINE AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator* ( const AutoSIMD< double, 4, 32 > & v) const
inline

Definition at line 155 of file m256.hpp.

◆ operator*() [2/4]

__ATTRS_ai AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator* ( const AutoSIMD< double, 4, 32 > & v) const
inline

Definition at line 145 of file qpx256.hpp.

◆ operator*() [3/4]

MFEM_ALWAYS_INLINE AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator* ( const double & e) const
inline

Definition at line 162 of file m256.hpp.

◆ operator*() [4/4]

__ATTRS_ai AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator* ( const double & e) const
inline

Definition at line 152 of file qpx256.hpp.

◆ operator*=() [1/4]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator*= ( const AutoSIMD< double, 4, 32 > & v)
inline

Definition at line 91 of file m256.hpp.

◆ operator*=() [2/4]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator*= ( const AutoSIMD< double, 4, 32 > & v)
inline

Definition at line 81 of file qpx256.hpp.

◆ operator*=() [3/4]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator*= ( const double & e)
inline

Definition at line 97 of file m256.hpp.

◆ operator*=() [4/4]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator*= ( const double & e)
inline

Definition at line 87 of file qpx256.hpp.

◆ operator+() [1/6]

MFEM_ALWAYS_INLINE AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator+ ( ) const
inline

Definition at line 122 of file m256.hpp.

◆ operator+() [2/6]

__ATTRS_ai AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator+ ( ) const
inline

Definition at line 112 of file qpx256.hpp.

◆ operator+() [3/6]

MFEM_ALWAYS_INLINE AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator+ ( const AutoSIMD< double, 4, 32 > & v) const
inline

Definition at line 127 of file m256.hpp.

◆ operator+() [4/6]

__ATTRS_ai AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator+ ( const AutoSIMD< double, 4, 32 > & v) const
inline

Definition at line 117 of file qpx256.hpp.

◆ operator+() [5/6]

MFEM_ALWAYS_INLINE AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator+ ( const double & e) const
inline

Definition at line 134 of file m256.hpp.

◆ operator+() [6/6]

__ATTRS_ai AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator+ ( const double & e) const
inline

Definition at line 124 of file qpx256.hpp.

◆ operator+=() [1/4]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator+= ( const AutoSIMD< double, 4, 32 > & v)
inline

Definition at line 67 of file m256.hpp.

◆ operator+=() [2/4]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator+= ( const AutoSIMD< double, 4, 32 > & v)
inline

Definition at line 57 of file qpx256.hpp.

◆ operator+=() [3/4]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator+= ( const double & e)
inline

Definition at line 73 of file m256.hpp.

◆ operator+=() [4/4]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator+= ( const double & e)
inline

Definition at line 63 of file qpx256.hpp.

◆ operator-() [1/6]

MFEM_ALWAYS_INLINE AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator- ( ) const
inline

Definition at line 115 of file m256.hpp.

◆ operator-() [2/6]

__ATTRS_ai AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator- ( ) const
inline

Definition at line 105 of file qpx256.hpp.

◆ operator-() [3/6]

MFEM_ALWAYS_INLINE AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator- ( const AutoSIMD< double, 4, 32 > & v) const
inline

Definition at line 141 of file m256.hpp.

◆ operator-() [4/6]

__ATTRS_ai AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator- ( const AutoSIMD< double, 4, 32 > & v) const
inline

Definition at line 131 of file qpx256.hpp.

◆ operator-() [5/6]

MFEM_ALWAYS_INLINE AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator- ( const double & e) const
inline

Definition at line 148 of file m256.hpp.

◆ operator-() [6/6]

__ATTRS_ai AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator- ( const double & e) const
inline

Definition at line 138 of file qpx256.hpp.

◆ operator-=() [1/4]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator-= ( const AutoSIMD< double, 4, 32 > & v)
inline

Definition at line 79 of file m256.hpp.

◆ operator-=() [2/4]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator-= ( const AutoSIMD< double, 4, 32 > & v)
inline

Definition at line 69 of file qpx256.hpp.

◆ operator-=() [3/4]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator-= ( const double & e)
inline

Definition at line 85 of file m256.hpp.

◆ operator-=() [4/4]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator-= ( const double & e)
inline

Definition at line 75 of file qpx256.hpp.

◆ operator/() [1/4]

MFEM_ALWAYS_INLINE AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator/ ( const AutoSIMD< double, 4, 32 > & v) const
inline

Definition at line 169 of file m256.hpp.

◆ operator/() [2/4]

__ATTRS_ai AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator/ ( const AutoSIMD< double, 4, 32 > & v) const
inline

Definition at line 159 of file qpx256.hpp.

◆ operator/() [3/4]

MFEM_ALWAYS_INLINE AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator/ ( const double & e) const
inline

Definition at line 176 of file m256.hpp.

◆ operator/() [4/4]

__ATTRS_ai AutoSIMD mfem::AutoSIMD< double, 4, 32 >::operator/ ( const double & e) const
inline

Definition at line 166 of file qpx256.hpp.

◆ operator/=() [1/4]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator/= ( const AutoSIMD< double, 4, 32 > & v)
inline

Definition at line 103 of file m256.hpp.

◆ operator/=() [2/4]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator/= ( const AutoSIMD< double, 4, 32 > & v)
inline

Definition at line 93 of file qpx256.hpp.

◆ operator/=() [3/4]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator/= ( const double & e)
inline

Definition at line 109 of file m256.hpp.

◆ operator/=() [4/4]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator/= ( const double & e)
inline

Definition at line 99 of file qpx256.hpp.

◆ operator=() [1/4]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator= ( const AutoSIMD< double, 4, 32 > & v)
inline

Definition at line 55 of file m256.hpp.

◆ operator=() [2/4]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator= ( const AutoSIMD< double, 4, 32 > & v)
inline

Definition at line 45 of file qpx256.hpp.

◆ operator=() [3/4]

MFEM_ALWAYS_INLINE AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator= ( const double & e)
inline

Definition at line 61 of file m256.hpp.

◆ operator=() [4/4]

__ATTRS_ai AutoSIMD & mfem::AutoSIMD< double, 4, 32 >::operator= ( const double & e)
inline

Definition at line 51 of file qpx256.hpp.

◆ operator[]() [1/4]

MFEM_ALWAYS_INLINE double & mfem::AutoSIMD< double, 4, 32 >::operator[] ( int i)
inline

Definition at line 45 of file m256.hpp.

◆ operator[]() [2/4]

__ATTRS_ai double & mfem::AutoSIMD< double, 4, 32 >::operator[] ( int i)
inline

Definition at line 41 of file qpx256.hpp.

◆ operator[]() [3/4]

MFEM_ALWAYS_INLINE const double & mfem::AutoSIMD< double, 4, 32 >::operator[] ( int i) const
inline

Definition at line 50 of file m256.hpp.

◆ operator[]() [4/4]

__ATTRS_ai const double & mfem::AutoSIMD< double, 4, 32 >::operator[] ( int i) const
inline

Definition at line 43 of file qpx256.hpp.

Member Data Documentation

◆ []

union mfem::AutoSIMD< double, 4, 32 > { ... } mfem::AutoSIMD< double, 4, 32 >

◆ []

union mfem::AutoSIMD< double, 4, 32 > { ... } mfem::AutoSIMD< double, 4, 32 >

◆ align_bytes

static constexpr int mfem::AutoSIMD< double, 4, 32 >::align_bytes = 32
staticconstexpr

Definition at line 33 of file m256.hpp.

◆ m256d

__m256d mfem::AutoSIMD< double, 4, 32 >::m256d

Definition at line 37 of file m256.hpp.

◆ size

static constexpr int mfem::AutoSIMD< double, 4, 32 >::size = 4
staticconstexpr

Definition at line 32 of file m256.hpp.

◆ vd

vector4double mfem::AutoSIMD< double, 4, 32 >::vd

Definition at line 33 of file qpx256.hpp.

◆ vec

double mfem::AutoSIMD< double, 4, 32 >::vec[size]

Definition at line 38 of file m256.hpp.


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