core 1.5.0
Shared MPI block decomposition, asynchronous ghost-layer exchange, SDF geometry, load balancing (header-only C++20)
Loading...
Searching...
No Matches
portable.hpp File Reference
#include <cmath>

Go to the source code of this file.

Classes

struct  peclet::core::Vec3< Real >
 Real-templated POD 3-vector — the geometry layer's point type on host and device. More...
 
struct  peclet::core::Quat< Real >
 Quaternion, {x, y, z, w} — dem's F4 ordering (dem_portable.hpp), NOT {w, x, y, z}. More...
 

Namespaces

namespace  peclet
 
namespace  peclet::core
 
namespace  peclet::core::detail
 

Macros

#define PECLET_HD   inline
 

Functions

template<class Real >
PECLET_HD Vec3< Real > peclet::core::add (Vec3< Real > a, Vec3< Real > b)
 
template<class Real >
PECLET_HD Vec3< Real > peclet::core::sub (Vec3< Real > a, Vec3< Real > b)
 
template<class Real >
PECLET_HD Vec3< Real > peclet::core::scale (Vec3< Real > a, Real s)
 
template<class Real >
PECLET_HD Real peclet::core::dot (Vec3< Real > a, Vec3< Real > b)
 
template<class Real >
PECLET_HD Vec3< Real > peclet::core::cross (Vec3< Real > a, Vec3< Real > b)
 
template<class Real >
PECLET_HD Vec3< Real > peclet::core::rotate (Quat< Real > q, Vec3< Real > v)
 Rotate v by q.
 
template<class Real >
PECLET_HD Vec3< Real > peclet::core::invRotate (Quat< Real > q, Vec3< Real > v)
 Rotate v by the conjugate of q — dem invRotateVector.
 
template<class Real >
PECLET_HD Quat< Real > peclet::core::mulQuat (Quat< Real > a, Quat< Real > b)
 Hamilton product a ⊗ b in the (x, y, z, w) storage convention rotate uses, so rotate(mulQuat(a, b), v) == rotate(a, rotate(b, v)) — i.e.
 
template<class Real >
PECLET_HD Real peclet::core::detail::hdSqrt (Real v)
 
template<class Real >
PECLET_HD Real peclet::core::detail::hdAbs (Real v)
 
template<class Real >
PECLET_HD Real peclet::core::detail::hdMax (Real a, Real b)
 
template<class Real >
PECLET_HD Real peclet::core::detail::hdMin (Real a, Real b)
 
template<class Real >
PECLET_HD Real peclet::core::detail::hdPow (Real a, Real b)
 
template<class Real >
PECLET_HD Real peclet::core::detail::hdNearbyint (Real v)
 
template<class Real >
PECLET_HD Real peclet::core::detail::hdFloor (Real v)
 
template<class Real >
PECLET_HD Real peclet::core::detail::hdFma (Real a, Real b, Real c)
 
template<class Real >
PECLET_HD Real peclet::core::detail::cmpMax (Real a, Real b)
 Comparison-based max, <-ordered (ties keep the earlier operand) — std::max semantics, NOT fmax's NaN-swallowing ones.
 

Macro Definition Documentation

◆ PECLET_HD

#define PECLET_HD   inline

Definition at line 35 of file portable.hpp.