35template <
typename T,
size_t N>
39template <
typename T,
size_t N>
46template <
typename T,
typename Eps = T,
size_t D0,
size_t... DIMS>
52template <
typename T,
size_t D0,
int D1>
58template <
typename T,
size_t D0,
int D1>
68template <
typename T,
size_t N>
71template <
typename T,
size_t N>
78template <
typename T,
int N>
85template <
typename T,
size_t N>
88template <
typename T,
size_t N>
98template <
typename T,
size_t N>
102template <
typename T,
size_t N>
106template <
typename T,
size_t N>
110template <
typename T,
size_t N>
114template <
typename T,
size_t N>
122template <
typename T,
size_t N>
126template <
typename T,
size_t N>
130template <
typename T,
size_t N>
134template <
typename T,
size_t N>
139template <
typename T,
size_t N>
143template <
typename T,
size_t N>
147template <
typename T,
size_t N>
152template <
typename T,
size_t N,
bool MinInclusiveT,
bool MaxInclusiveT>
157 std::integral_constant<bool, MinInclusiveT> minInclusive = std::true_type{},
158 std::integral_constant<bool, MaxInclusiveT> maxInclusive = std::false_type{});
161template <
typename T,
size_t N>
167template <
typename T,
size_t N>
176template <
typename T,
size_t N>
179template <
typename T,
size_t N>
222template <
class T,
int DN,
size_t D0,
size_t... DIMS>
226template <
class T,
int DN,
size_t D0,
size_t... DIMS>
229template <
class T,
size_t D0,
size_t... DIMS>
T Dot(Simd< T, N > a, Simd< T, N > b)
Simd< T, N > VIsFinite(Simd< T, N > a)
constexpr T const & Min(T const &a, T const &b)
T NormSqr(Simd< T, N > a)
constexpr T TripleProduct(NdArray< T, 3 > const &a, NdArray< T, 3 > const &b, NdArray< T, 3 > const &c)
constexpr T kDefaultNearEqualEpsilon
constexpr ValT Rect(ValT value, MinT min, MaxT max, std::integral_constant< bool, kMinInclusive >=std::true_type{}, std::integral_constant< bool, kMaxInclusive >=std::false_type{})
V VNearEqual(V a, V b, V epsilon)
constexpr NdArray< T, 2 > OrthogonalVector(NdArray< T, 2 > const &vec)
Simd< T, N > Normalize(Simd< T, N > a)
constexpr size_t ArgMin(NdArray< T, N > const &a)
constexpr NdArray< T, N > BasisVector(int axis)
constexpr T Mean(NdArray< T, N > const &a)
constexpr T Sum(NdArray< T, N > const &a)
constexpr size_t ArgMax(NdArray< T, N > const &a)
constexpr ValT Clamp(ValT value, MinT min, MaxT max)
constexpr T const & Max(T const &a, T const &b)
constexpr T Prod(NdArray< T, N > const &a)
bool NearEqual(TransformRT const &a, TransformRT const &b, real epsilon=kDefaultNearEqualEpsilon< real >)
bool IsFinite(TransformRT const &a)
constexpr NdArray< T, 3 > Cross(NdArray< T, 3 > const &a, NdArray< T, 3 > const &b)