#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) |
|