OpenLB 1.7
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
512.h File Reference
#include <immintrin.h>
#include <cstdint>
#include <type_traits>
+ Include dependency graph for 512.h:

Go to the source code of this file.

Classes

class  olb::cpu::simd::Mask< double >
 
class  olb::cpu::simd::Mask< float >
 
class  olb::cpu::simd::Pack< double >
 
class  olb::cpu::simd::Pack< float >
 

Namespaces

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.
 

Functions

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)