Real vectorization using emulation. More...
#include <arcane/utils/SimdEMUL.h>
Public Types | |
| enum | : Int32 { Length = 2 } |
| typedef EMULSimdX2Int32 | Int32IndexType |
Public Member Functions | |
| EMULSimdReal (Real a) | |
| EMULSimdReal (const Real *base) | |
| EMULSimdReal (const Real *base, const Int32 *idx) | |
| EMULSimdReal (const Real *base, const Int32IndexType *idx) | |
| EMULSimdReal (const Real *base, const Int32IndexType &idx) | |
| const Real & | operator[] (Integer i) const |
| Real & | operator[] (Integer i) |
| void | set (ARCANE_RESTRICT Real *base) const |
| void | set (ARCANE_RESTRICT Real *base, const Int32 *idx) const |
| void | set (ARCANE_RESTRICT Real *base, const Int32IndexType *idx) const |
| void | set (ARCANE_RESTRICT Real *base, const Int32IndexType &idx) const |
Static Public Member Functions | |
| static EMULSimdReal | fromScalar (Real a0, Real a1) |
Public Attributes | |
| Real | v0 |
| Real | v1 |
Static Public Attributes | |
| static const int | BLOCK_SIZE = 2 |
Real vectorization using emulation.
This class is used when no vectorization mechanism is available. It is just an encapsulation of 2 reals. Other vector sizes could have been chosen (for example 4 or 8), but tests performed (in 2013) show that performance degrades beyond 2.
Definition at line 201 of file SimdEMUL.h.
| typedef EMULSimdX2Int32 Arcane::EMULSimdReal::Int32IndexType |
Definition at line 210 of file SimdEMUL.h.
| anonymous enum : Int32 |
Definition at line 206 of file SimdEMUL.h.
|
inline |
Definition at line 214 of file SimdEMUL.h.
|
inlineexplicit |
Definition at line 215 of file SimdEMUL.h.
|
inline |
Definition at line 229 of file SimdEMUL.h.
Definition at line 233 of file SimdEMUL.h.
|
inline |
Definition at line 237 of file SimdEMUL.h.
|
inline |
Definition at line 241 of file SimdEMUL.h.
Definition at line 267 of file SimdEMUL.h.
Definition at line 246 of file SimdEMUL.h.
Definition at line 245 of file SimdEMUL.h.
|
inline |
Definition at line 247 of file SimdEMUL.h.
Definition at line 252 of file SimdEMUL.h.
|
inline |
Definition at line 262 of file SimdEMUL.h.
|
inline |
Definition at line 257 of file SimdEMUL.h.
|
static |
Definition at line 205 of file SimdEMUL.h.
| Real Arcane::EMULSimdReal::v0 |
Definition at line 211 of file SimdEMUL.h.
| Real Arcane::EMULSimdReal::v1 |
Definition at line 212 of file SimdEMUL.h.