#include <immintrin.h>
#include <cstdint>
#include <type_traits>
Go to the source code of this file.
|
| namespace | olb |
| | Top level namespace for all of OpenLB.
|
| |
| namespace | olb::cpu |
| | Implementations of CPU specifics.
|
| |
| namespace | olb::cpu::simd |
| | Implementations of vector CPU specifics.
|
| |
|
| template<typename T > |
| Pack< T > | olb::cpu::simd::pow (Pack< T > base, Pack< T > exp) |
| |
| template<typename T > |
| Pack< T > | olb::cpu::simd::min (Pack< T > rhs, Pack< T > lhs) |
| |
| template<typename T > |
| Pack< T > | olb::cpu::simd::max (Pack< T > rhs, Pack< T > lhs) |
| |
| template<typename T > |
| Pack< T > | olb::cpu::simd::fabs (Pack< T > x) |
| |
| template<typename T > |
| void | olb::cpu::simd::maskstore (T *target, Mask< T > mask, Pack< T > value) |
| |
| template<> |
| void | olb::cpu::simd::maskstore< double > (double *target, Mask< double > mask, Pack< double > value) |
| |
| template<> |
| void | olb::cpu::simd::maskstore< float > (float *target, Mask< float > mask, Pack< float > value) |
| |
| template<typename T > |
| void | olb::cpu::simd::store (T *target, Pack< T > value) |
| |
| template<> |
| void | olb::cpu::simd::store< double > (double *target, Pack< double > value) |
| |
| template<> |
| void | olb::cpu::simd::store< float > (float *target, Pack< float > value) |
| |
| template<typename T > |
| void | olb::cpu::simd::store (T *target, Pack< T > value, const typename Pack< T >::index_t *indices) |
| |
| template<> |
| void | olb::cpu::simd::store< double > (double *target, Pack< double > value, const Pack< double >::index_t *indices) |
| |
| template<> |
| void | olb::cpu::simd::store< float > (float *target, Pack< float > value, const Pack< float >::index_t *indices) |
| |