|
| JPL_INLINE simd | JPL::operator| (const simd &a, const simd &b) noexcept |
| | Component-wise logical OR.
|
| |
| JPL_INLINE simd | JPL::operator^ (const simd &a, const simd &b) noexcept |
| | Component-wise logical XOR.
|
| |
| JPL_INLINE simd | JPL::operator& (const simd &a, const simd &b) noexcept |
| | Component-wise logical AND.
|
| |
| JPL_INLINE simd_mask | JPL::operator== (const simd &a, const simd &b) noexcept |
| | Component-wise comparison.
|
| |
| JPL_INLINE simd_mask | JPL::operator!= (const simd &a, const simd &b) noexcept |
| |
| JPL_INLINE simd_mask | JPL::operator< (const simd &a, const simd &b) noexcept |
| |
| JPL_INLINE simd_mask | JPL::operator<= (const simd &a, const simd &b) noexcept |
| |
| JPL_INLINE simd_mask | JPL::operator> (const simd &a, const simd &b) noexcept |
| |
| JPL_INLINE simd_mask | JPL::operator>= (const simd &a, const simd &b) noexcept |
| |
| JPL_INLINE simd_mask | JPL::operator== (const simd_mask &a, const simd_mask &b) noexcept |
| | Component-wise comparison.
|
| |
| JPL_INLINE simd_mask | JPL::operator!= (const simd_mask &a, const simd_mask &b) noexcept |
| |
| JPL_INLINE simd_mask | JPL::operator| (const simd_mask &a, const simd_mask &b) noexcept |
| | Component-wise logical OR.
|
| |
| JPL_INLINE simd_mask | JPL::operator^ (const simd_mask &a, const simd_mask &b) noexcept |
| | Component-wise logical XOR.
|
| |
| JPL_INLINE simd_mask | JPL::operator& (const simd_mask &a, const simd_mask &b) noexcept |
| | Component-wise logical AND.
|
| |
| JPL_INLINE simd | JPL::Math::Sqrt (const simd &vec) noexcept |
| | Component-wise square root.
|
| |
| JPL_INLINE simd | JPL::Math::InvSqrt (const simd &vec) noexcept |
| | Component-wise inverse square root (1 / sqrt(x))
|
| |
| JPL_INLINE simd | JPL::Math::Sign2 (const simd &vec) noexcept |
| | Sign2 returns -1 for negative values, 1 otherwise.
|
| |
| JPL_INLINE simd_mask | JPL::Math::IsNearlyZero (const simd &vec, float tolerance=JPL_FLOAT_EPS) noexcept |
| |
| JPL_INLINE simd | JPL::max (const simd &a, const simd &b) noexcept |
| | Element-wise max.
|
| |
| JPL_INLINE simd | JPL::min (const simd &a, const simd &b) noexcept |
| | Element-wise min.
|
| |
| JPL_INLINE simd | JPL::abs (const simd &vec) noexcept |
| |
| JPL_INLINE simd | JPL::clamp (const simd &value, const simd &minV, const simd &maxV) noexcept |
| | Element-wise clamp.
|
| |
| JPL_INLINE simd | JPL::fma (const simd &mul1, const simd &mul2, const simd &addV) noexcept |
| | Element-wise fused multiply-add.
|
| |
| JPL_INLINE simd | JPL::Math::FMA (const simd &mul1, const simd &mul2, const simd &addV) noexcept |
| | An overload to match our scalar version in Math.h.
|
| |
| JPL_INLINE simd | JPL::Math::Lerp (const simd &a, const simd &b, const simd &t) noexcept |
| |
| JPL_INLINE simd | JPL::floor (const simd &vec) noexcept |
| | Element-wise floor.
|
| |
| JPL_INLINE simd | JPL::ceil (const simd &vec) noexcept |
| | Element-wise ceil.
|
| |
| JPL_INLINE simd | JPL::round (const simd &vec) noexcept |
| | Element-wise round to nearest integer value.
|
| |
| JPL_INLINE simd | JPL::interleave_lohi (const simd &vec) noexcept |
| | Interleave two low lanes with the two high lanes (e.g. { 0, 1, 2, 3 } -> { 0, 2, 1, 3 })
|
| |
| JPL_INLINE simd | JPL::combine_lo (const simd &a, const simd &b) noexcept |
| | Combine two low lanes of input a and b as { a0, a1, b0, b1 }.
|
| |
| JPL_INLINE simd | JPL::combine_hi (const simd &a, const simd &b) noexcept |
| | Combine two high lanes of input a and b as { a2, a3, b2, b3 }.
|
| |
| JPL_INLINE simd | JPL::combine_lohi (const simd &a, const simd &b) noexcept |
| | Combine two low lanes of a and two high lanes from b as { a0, a1, b2, b3 }.
|
| |
| JPL_INLINE simd | JPL::reverse (const simd &vec) noexcept |
| | Reverse the order of the lanes.
|
| |
| JPL_INLINE simd_mask | JPL::max (const simd_mask &a, const simd_mask &b) noexcept |
| | Element-wise max.
|
| |
| JPL_INLINE simd_mask | JPL::min (const simd_mask &a, const simd_mask &b) noexcept |
| | Element-wise min.
|
| |
| JPL_INLINE simd_mask | JPL::clamp (const simd_mask &value, const simd_mask &minV, const simd_mask &maxV) noexcept |
| | Element-wise clamp.
|
| |
| JPL_INLINE simd_mask | JPL::maxs (const simd_mask &a, const simd_mask &b) noexcept |
| | Element-wise max, signed.
|
| |
| JPL_INLINE simd_mask | JPL::mins (const simd_mask &a, const simd_mask &b) noexcept |
| | Element-wise min, signed.
|
| |
| JPL_INLINE simd_mask | JPL::clamps (const simd_mask &value, const simd_mask &minV, const simd_mask &maxV) noexcept |
| | Element-wise clamp, signed.
|
| |
| JPL_INLINE simd | JPL::operator* (float value, const simd &vec) noexcept |
| |
template<int NR>
requires (NR > 0 && NR <= 2) |
| JPL_INLINE simd | JPL::Math::InvSqrtImpl (const simd &vec) noexcept |
| |
| JPL_INLINE simd | JPL::Math::InvSqrtFast (const simd &vec) noexcept |
| |