waLBerla 7.3
Loading...
Searching...
No Matches
Scalar.h File Reference

Detailed Description

Fallback to scalar operations.

Author
Martin Bauer marti.nosp@m.n.ba.nosp@m.uer@f.nosp@m.au.d.nosp@m.e
#include "waLBerlaDefinitions.h"
#include "core/math/FastInvSqrt.h"
#include <cmath>
#include <limits>
#include "core/logging/Logging.h"

Classes

class  walberla::simd::scalar::double4_t

Namespaces

namespace  walberla
 Storage for detected contacts which can be used to perform actions for all contacts, e.g.
namespace  walberla::simd
namespace  walberla::simd::scalar

Functions

const char * walberla::simd::scalar::usedInstructionSet ()
double4_t walberla::simd::scalar::make_double4 (double d, double c, double b, double a)
double4_t walberla::simd::scalar::make_double4_r (double a, double b, double c, double d)
double4_t walberla::simd::scalar::make_double4 (double a)
double4_t walberla::simd::scalar::make_zero ()
double4_t walberla::simd::scalar::load_aligned (double const *m)
double4_t walberla::simd::scalar::load_unaligned (double const *m)
void walberla::simd::scalar::store_aligned (double *m, double4_t a)
void walberla::simd::scalar::loadNeighbors (const double *p, double4_t &r_left, double4_t &r_center, double4_t &r_right)
double walberla::simd::scalar::getComponent (const double4_t &v, int i)
double walberla::simd::scalar::getComponent (const double4_t &v, unsigned long i)
bool walberla::simd::scalar::getBoolComponent (const double4_t &v, int i)
bool walberla::simd::scalar::getBoolComponent (const double4_t &v, unsigned long i)
double4_t walberla::simd::scalar::hadd (double4_t a, double4_t b)
double4_t walberla::simd::scalar::horizontalSum (double4_t a)
double4_t walberla::simd::scalar::exchangeLowerUpperHalf (double4_t a)
void walberla::simd::scalar::extract (double4_t in, double4_t &d, double4_t &c, double4_t &b, double4_t &a)
double4_t walberla::simd::scalar::rotateRight (double4_t a)
double4_t walberla::simd::scalar::rotateLeft (double4_t a)
double4_t walberla::simd::scalar::compareEQ (double4_t a, double4_t b)
double4_t walberla::simd::scalar::compareNEQ (double4_t a, double4_t b)
double4_t walberla::simd::scalar::compareGE (double4_t a, double4_t b)
double4_t walberla::simd::scalar::compareLE (double4_t a, double4_t b)
double4_t walberla::simd::scalar::logicalAND (double4_t a, double4_t b)
double4_t walberla::simd::scalar::logicalOR (double4_t a, double4_t b)
int walberla::simd::scalar::movemask (double4_t a)
double4_t walberla::simd::scalar::blendv (double4_t a, double4_t b, double4_t mask)
template<int mask>
double4_t walberla::simd::scalar::blend (double4_t a, double4_t b)
double4_t walberla::simd::scalar::sqrt (double4_t a)
template<unsigned int numIter>
double4_t walberla::simd::scalar::invSqrt (double4_t a)

Variables

const double walberla::simd::scalar::TRUE_MASK = -std::numeric_limits<double>::signaling_NaN()
const double walberla::simd::scalar::FALSE_MASK = static_cast<double>( 0x0ul )
const uint64_t walberla::simd::scalar::MSB = 0x8000000000000000ul