10 PL_DECLARE_POD_TYPE();
18 plSimdVec4f(
float x,
float y,
float z,
float w = 1.0f);
28 void Set(
float fXyzw);
30 void Set(
float x,
float y,
float z,
float w);
40 void Load(
const float* pFloats);
43 void Store(
float* pFloats)
const;
46 template <plMathAcc::Enum acc = plMathAcc::FULL>
49 template <plMathAcc::Enum acc = plMathAcc::FULL>
52 template <plMathAcc::Enum acc = plMathAcc::FULL>
55 template <
int N, plMathAcc::Enum acc = plMathAcc::FULL>
58 template <
int N, plMathAcc::Enum acc = plMathAcc::FULL>
64 template <
int N, plMathAcc::Enum acc = plMathAcc::FULL>
67 template <
int N, plMathAcc::Enum acc = plMathAcc::FULL>
70 template <
int N, plMathAcc::Enum acc = plMathAcc::FULL>
73 template <
int N, plMathAcc::Enum acc = plMathAcc::FULL>
74 void NormalizeIfNotZero(
const plSimdFloat& fEpsilon = plMath::SmallEpsilon<float>());
83 bool IsNormalized(
const plSimdFloat& fEpsilon = plMath::HugeEpsilon<float>())
const;
102 template <plSwizzle::Enum s>
106 template <plSwizzle::Enum s>
119 template <plMathAcc::Enum acc = plMathAcc::FULL>
169 [[nodiscard]]
plSimdVec4f GetOrthogonalVector()
const;
plSimdVec4f GetCombined(const plSimdVec4f &other) const
x = this[s0], y = this[s1], z = other[s2], w = other[s3]