|
| | Vec3Pack ()=default |
| |
| JPL_INLINE | Vec3Pack (float x, float y, float z) noexcept |
| |
| JPL_INLINE | Vec3Pack (const float *x, const float *y, const float *z) noexcept |
| |
| JPL_INLINE | Vec3Pack (simd x, simd y, simd z) noexcept |
| |
| template<CVec3 Vec3Type> |
| JPL_INLINE | Vec3Pack (const Vec3Type &vec) noexcept |
| |
| JPL_INLINE | Vec3Pack (const simd &axis) noexcept |
| |
| template<CVec3 Vec3Type> |
| JPL_INLINE | Vec3Pack (const Vec3Type &vec1, const Vec3Type &vec2, const Vec3Type &vec3, const Vec3Type &vec4) |
| |
| template<CVec3 Vec3Type> |
| JPL_INLINE void | load (std::span< const Vec3Type > inVecs) |
| |
| JPL_INLINE void | store (float *outX, float *outY, float *outZ) const |
| | Pointers must point to storate allocated for at least simd::size() num of floats each.
|
| |
| template<CVec3 Vec3Type> |
| JPL_INLINE void | store (std::span< Vec3Type > outVecs) const |
| |
| JPL_INLINE simd | LengthSquared () const noexcept |
| |
| JPL_INLINE simd | Length () const noexcept |
| |
| JPL_INLINE Vec3Pack & | Normalize () noexcept |
| |
| JPL_INLINE bool | IsEqual (const Vec3Pack &other) const |
| | Check if all components of all lanes match.
|
| |
| JPL_INLINE Vec3Pack | operator- () const |
| |
| JPL_INLINE Vec3Pack | operator- (const Vec3Pack &V) const |
| |
| JPL_INLINE Vec3Pack | operator+ (const Vec3Pack &V) const |
| |
template<typename Arg >
requires (std::is_arithmetic_v<Arg>) |
| JPL_INLINE Vec3Pack | operator* (Arg Scale) const noexcept |
| |
template<typename Arg >
requires (std::is_arithmetic_v<Arg>) |
| JPL_INLINE Vec3Pack | operator/ (Arg Scale) const noexcept |
| |
| JPL_INLINE Vec3Pack | operator* (simd Scale) const noexcept |
| |
| JPL_INLINE Vec3Pack | operator/ (simd Scale) const noexcept |
| |
| JPL_INLINE void | operator+= (const Vec3Pack &V) noexcept |
| |
| JPL_INLINE Vec3Pack & | operator*= (const Vec3Pack Other) |
| |
template<typename Arg >
requires (std::is_arithmetic_v<Arg>) |
| JPL_INLINE Vec3Pack & | operator/= (Arg Scale) noexcept |
| |
template<typename Arg >
requires (std::is_arithmetic_v<Arg>) |
| JPL_INLINE Vec3Pack & | operator*= (Arg Scale) noexcept |
| |
| JPL_INLINE Vec3Pack & | operator/= (simd Scale) noexcept |
| |
| JPL_INLINE Vec3Pack & | operator*= (simd Scale) noexcept |
| |
Minimal Vec3 class for SIMD operations on 4 Vec3 at a time.