SuperDex Physics C++ API
Loading...
Searching...
No Matches
math_utils.h File Reference

Go to the source code of this file.

Namespaces

namespace  superdex

Functions

template<typename T, size_t N>
constexpr size_t superdex::ArgMax (NdArray< T, N > const &a)
template<typename T, size_t N>
constexpr size_t superdex::ArgMin (NdArray< T, N > const &a)
template<typename T, int N>
constexpr NdArray< T, N > superdex::BasisVector (int axis)
template<typename T, size_t N>
constexpr NdArray< T, N > superdex::Ceil (NdArray< T, N > const &a)
template<typename T, size_t N>
constexpr NdArray< T, N > superdex::Clamp (NdArray< T, N > const &a, NdArray< T, N > const &min, NdArray< T, N > const &max)
template<typename T, size_t N>
constexpr NdArray< T, N > superdex::Clamp (NdArray< T, N > const &a, T min, T max)
template<typename T>
constexpr NdArray< T, 3 > superdex::Cross (NdArray< T, 3 > const &a, NdArray< T, 3 > const &b)
template<typename T, size_t N>
constexpr T superdex::Dot (NdArray< T, N > const &a, NdArray< T, N > const &b)
template<typename T, size_t N>
constexpr T superdex::Dot (Span< T const > a, NdArray< T, N > const &b)
template<typename T>
constexpr T superdex::Dot (Span< T const > a, Span< T const > b)
template<typename T, size_t N>
constexpr NdArray< T, N > superdex::Floor (NdArray< T, N > const &a)
template<class T, int DN, size_t D0, size_t... DIMS>
bool superdex::IsFinite (NdArray< Simd< T, DN >, D0, DIMS... > const &a)
template<class T, size_t D0, size_t... DIMS>
bool superdex::IsFinite (NdArray< T, D0, DIMS... > const &a)
template<typename T, size_t N>
constexpr T superdex::Max (NdArray< T, N > const &a)
template<typename T, size_t N>
constexpr NdArray< T, N > superdex::Max (NdArray< T, N > const &a, NdArray< T, N > const &max)
template<typename T, size_t N>
constexpr NdArray< T, N > superdex::Max (NdArray< T, N > const &a, T max)
template<typename T, size_t N>
constexpr T superdex::Mean (NdArray< T, N > const &a)
template<typename T, size_t N>
constexpr T superdex::Min (NdArray< T, N > const &a)
template<typename T, size_t N>
constexpr NdArray< T, N > superdex::Min (NdArray< T, N > const &a, NdArray< T, N > const &min)
template<typename T, size_t N>
constexpr NdArray< T, N > superdex::Min (NdArray< T, N > const &a, T min)
template<typename T, size_t D0, int D1>
bool superdex::NearEqual (NdArray< Simd< T, D1 >, D0 > const &a, NdArray< Simd< T, D1 >, D0 > const &b, T epsilon=kDefaultNearEqualEpsilon< T >)
template<typename T, typename Eps = T, size_t D0, size_t... DIMS>
constexpr bool superdex::NearEqual (NdArray< T, D0, DIMS... > const &a, NdArray< T, D0, DIMS... > const &b, Eps epsilon=kDefaultNearEqualEpsilon< T >)
template<typename T, size_t N>
superdex::Norm (NdArray< T, N > const &a)
template<typename T, size_t N>
constexpr NdArray< T, N > superdex::Normalize (NdArray< T, N > const &a)
template<typename T, size_t N>
constexpr NdArray< T, N > superdex::Normalize (NdArray< T, N > const &a, T sqrNorm)
template<typename T, size_t N>
constexpr T superdex::NormSqr (NdArray< T, N > const &a)
template<typename T>
constexpr NdArray< T, 2 > superdex::OrthogonalVector (NdArray< T, 2 > const &vec)
template<typename T>
constexpr NdArray< T, 3 > superdex::OrthogonalVector (NdArray< T, 3 > const &vec)
template<typename T, size_t N>
constexpr T superdex::Prod (NdArray< T, N > const &a)
template<typename T, size_t N, bool MinInclusiveT, bool MaxInclusiveT>
constexpr NdArray< T, N > superdex::Rect (NdArray< T, N > const &a, NdArray< T, N > const &min, NdArray< T, N > const &max, std::integral_constant< bool, MinInclusiveT > minInclusive=std::true_type{}, std::integral_constant< bool, MaxInclusiveT > maxInclusive=std::false_type{})
template<typename T, size_t N>
constexpr NdArray< T, N > superdex::Round (NdArray< T, N > const &a)
template<typename T, size_t N>
constexpr T superdex::Sum (NdArray< T, N > const &a)
template<typename T>
constexpr T superdex::TripleProduct (NdArray< T, 3 > const &a, NdArray< T, 3 > const &b, NdArray< T, 3 > const &c)
template<class T, int DN, size_t D0, size_t... DIMS>
Simd< T, DN > superdex::VIsFinite (NdArray< Simd< T, DN >, D0, DIMS... > const &a)
 Per-lane finiteness check on a SIMD-typed NdArray.
template<typename T, size_t D0, int D1>
Simd< T, D1 > superdex::VNearEqual (NdArray< Simd< T, D1 >, D0 > const &a, NdArray< Simd< T, D1 >, D0 > const &b, Simd< T, D1 > epsilon=kDefaultNearEqualEpsilon< T >)