209#if SUPPORT_DOUBLE_TO_FLOAT_VECTOR_CONVERSION
257#if SUPPORT_DOUBLE_TO_FLOAT_VECTOR_CONVERSION
305#if SUPPORT_DOUBLE_TO_FLOAT_VECTOR_CONVERSION
341#if SUPPORT_DOUBLE_TO_FLOAT_VECTOR_CONVERSION
405template<
typename TVectorRegisterType>
411template<
typename TVectorRegisterType>
417template<
typename TVectorRegisterType>
880 return VectorSet(
float(
X),
float(
Y),
float(
Z),
float(W));
920#pragma intrinsic( _BitScanForward )
927 unsigned long BitIndex;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FORCEINLINE VectorRegister4Float VectorSubtract(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:731
FORCEINLINE uint32 VectorAnyGreaterThan(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:1917
FORCEINLINE VectorRegister4Float VectorReciprocalSqrt(const VectorRegister4Float &Vec)
Definition UnrealMathFPU.h:1279
FORCEINLINE VectorRegister4Float VectorMin(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:1686
FORCEINLINE VectorRegister4Float VectorDot4(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:901
FORCEINLINE VectorRegister4Float VectorSetFloat1(float F)
Definition UnrealMathFPU.h:518
FORCEINLINE VectorRegister4Float VectorTruncate(const VectorRegister4Float &Vec)
Definition UnrealMathFPU.h:2153
FORCEINLINE VectorRegister4Double VectorZeroDouble(void)
Definition UnrealMathFPU.h:336
FORCEINLINE VectorRegister4Float VectorDivide(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:834
FORCEINLINE VectorRegister4Float VectorMax(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:1713
FORCEINLINE VectorRegister4Float VectorReciprocalLen(const VectorRegister4Float &Vec)
Definition UnrealMathFPU.h:1343
#define VectorGetComponent(Vec, ComponentIndex)
Definition UnrealMathFPU.h:385
FORCEINLINE VectorRegister4Double VectorLoadDouble1(const double *Ptr)
Definition UnrealMathFPU.h:473
FORCEINLINE VectorRegister4Float VectorSelect(const VectorRegister4Float &Mask, const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:1105
FORCEINLINE VectorRegister4Float VectorCompareGT(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:974
FORCEINLINE VectorRegister4Double VectorOneDouble(void)
Definition UnrealMathFPU.h:351
FORCEINLINE VectorRegister4Float VectorReciprocalLenEstimate(const VectorRegister4Float &Vector)
Definition UnrealMathFPU.h:1375
FORCEINLINE VectorRegister4Float VectorCompareGE(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:1000
FORCEINLINE VectorRegister4Double MakeVectorRegisterDouble(uint64 X, uint64 Y, uint64 Z, uint64 W)
Definition UnrealMathFPU.h:185
FORCEINLINE VectorRegister4Float VectorNegateMultiplyAdd(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2, const VectorRegister4Float &Vec3)
Definition UnrealMathFPU.h:815
FORCEINLINE VectorRegister4Float VectorReciprocal(const VectorRegister4Float &Vec)
Definition UnrealMathFPU.h:1311
FORCEINLINE VectorRegister4Float VectorAdd(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:704
FORCEINLINE VectorRegister4Float VectorQuaternionMultiply2(const VectorRegister4Float &Quat1, const VectorRegister4Float &Quat2)
Definition UnrealMathFPU.h:1517
FORCEINLINE VectorRegister4Float VectorOneFloat(void)
Definition UnrealMathFPU.h:346
FORCEINLINE VectorRegister4Float VectorZeroFloat(void)
Definition UnrealMathFPU.h:331
FORCEINLINE VectorRegister4Float VectorCross(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:1216
FORCEINLINE VectorRegister4Float MakeVectorRegisterFloat(uint32 X, uint32 Y, uint32 Z, uint32 W)
Definition UnrealMathFPU.h:175
FORCEINLINE VectorRegister4Float MakeVectorRegisterFloatFromDouble(const VectorRegister4Double &Vec4d)
Definition UnrealMathFPU.h:262
#define VectorReplicate(Vec, ElementIndex)
Definition UnrealMathFPU.h:627
FORCEINLINE void VectorStoreAligned(TVectorRegisterType< T > Vec, UE::Math::TVector4< T > *Dst)
VectorStoreAligned.
Definition UnrealMathVectorCommon.h.inl:217
FORCEINLINE VectorRegister4Double VectorSetDouble3(double X, double Y, double Z)
Definition UnrealMathVectorCommon.h.inl:853
FORCEINLINE VectorRegister4Float VectorLerp(VectorRegister4Float A, VectorRegister4Float B, VectorRegister4Float Alpha)
Definition UnrealMathVectorCommon.h.inl:532
FORCEINLINE TVectorRegisterType VectorNormalizeAccurate(TVectorRegisterType Vector)
Definition UnrealMathVectorCommon.h.inl:412
FORCEINLINE void VectorStore(VectorRegister4Float Vec, UE::Math::TVector4< T > *Dst)
VectorStore.
Definition UnrealMathVectorCommon.h.inl:266
FORCEINLINE VectorRegister4Float VectorAccumulateQuaternionShortestPath(VectorRegister4Float A, VectorRegister4Float B)
Definition UnrealMathVectorCommon.h.inl:571
FORCEINLINE VectorRegister4Float VectorZero(void)
Definition UnrealMathVectorCommon.h.inl:16
FORCEINLINE VectorRegister4Double VectorMultiply(VectorRegister4Double Vec1, VectorRegister4Float Vec2)
Definition UnrealMathVectorCommon.h.inl:800
FORCEINLINE VectorRegister4Double MakeVectorRegister(double X, double Y, double Z, float W)
Definition UnrealMathVectorCommon.h.inl:11
FORCEINLINE VectorRegister4Float VectorSetFloat3(float X, float Y, float Z)
Definition UnrealMathVectorCommon.h.inl:843
FORCEINLINE VectorRegister4Float VectorSet(float X, float Y, float Z, float W)
Definition UnrealMathVectorCommon.h.inl:867
FORCEINLINE VectorRegister4Double VectorSetDouble(double X, double Y, double Z, double W)
Definition UnrealMathVectorCommon.h.inl:815
FORCEINLINE VectorRegister4Double VectorLoadDouble3_W1(const double *Ptr)
Definition UnrealMathVectorCommon.h.inl:178
FORCEINLINE VectorRegister4Float VectorReciprocalAccurate(VectorRegister4Float Vec)
Definition UnrealMathVectorCommon.h.inl:391
FORCEINLINE void VectorStoreDouble1(VectorRegister4Double Vec, double *Ptr)
Definition UnrealMathVectorCommon.h.inl:830
FORCEINLINE TVectorRegisterType< T > VectorLoad(const UE::Math::TQuat< T > *Ptr)
VectorLoad.
Definition UnrealMathVectorCommon.h.inl:35
FORCEINLINE VectorRegister4Float VectorNormalizeSafe(VectorRegister4Float Vector, VectorRegister4Float DefaultValue)
Definition UnrealMathVectorCommon.h.inl:425
FORCEINLINE void VectorStoreDouble3(VectorRegister4Double Vec, double *Ptr)
Definition UnrealMathVectorCommon.h.inl:825
FORCEINLINE uint32 VectorAnyLesserThan(VectorRegister4Float Vec1, VectorRegister4Float Vec2)
Definition UnrealMathVectorCommon.h.inl:450
FORCEINLINE uint32 VectorAllLesserThan(VectorRegister4Float Vec1, VectorRegister4Float Vec2)
Definition UnrealMathVectorCommon.h.inl:484
FORCEINLINE VectorRegister4Float VectorOne(void)
Definition UnrealMathVectorCommon.h.inl:21
FORCEINLINE VectorRegister4Float VectorQuaternionInverse(VectorRegister4Float NormalizedQuat)
Definition UnrealMathVectorCommon.h.inl:723
FORCEINLINE void VectorStoreFloat3(VectorRegister4Float Vec, UE::Math::TVector< T > *Dst)
VectorStoreFloat3.
Definition UnrealMathVectorCommon.h.inl:314
FORCEINLINE VectorRegister4Float VectorFractional(VectorRegister4Float Vec)
Definition UnrealMathVectorCommon.h.inl:883
FORCEINLINE VectorRegister4Double VectorMultiplyAdd(VectorRegister4Double Vec1, VectorRegister4Float Vec2, VectorRegister4Double Acc)
Definition UnrealMathVectorCommon.h.inl:805
FORCEINLINE void VectorStoreFloat1(VectorRegister4Float Vec, int32 *Dst)
VectorStoreFloat1.
Definition UnrealMathVectorCommon.h.inl:350
FORCEINLINE VectorRegister4Float VectorQuaternionRotateVector(VectorRegister4Float Quat, VectorRegister4Float VectorW0)
Definition UnrealMathVectorCommon.h.inl:741
FORCEINLINE TVectorRegisterType VectorNormalizeEstimate(TVectorRegisterType Vector)
Definition UnrealMathVectorCommon.h.inl:418
FORCEINLINE TVectorRegisterType< T > VectorLoadAligned(const UE::Math::TQuat< T > *Ptr)
VectorLoadAligned.
Definition UnrealMathVectorCommon.h.inl:62
FORCEINLINE VectorRegister4Float VectorMod360(VectorRegister4Float X)
Definition UnrealMathVectorCommon.h.inl:611
FORCEINLINE uint32 appCountTrailingZeros(uint32 Value)
Definition UnrealMathVectorCommon.h.inl:932
FORCEINLINE TVectorRegisterType VectorNormalize(TVectorRegisterType Vector)
Definition UnrealMathVectorCommon.h.inl:406
FORCEINLINE VectorRegister4Float VectorLoadFloat1(const VectorRegister4Float *Ptr)
VectorLoadFloat1.
Definition UnrealMathVectorCommon.h.inl:188
FORCEINLINE uint32 VectorAllGreaterThan(VectorRegister4Float Vec1, VectorRegister4Float Vec2)
Definition UnrealMathVectorCommon.h.inl:467
FORCEINLINE VectorRegister4Float VectorBiLerpQuat(VectorRegister4Float P00, VectorRegister4Float P10, VectorRegister4Float P01, VectorRegister4Float P11, VectorRegister4Float FracX, VectorRegister4Float FracY)
Definition UnrealMathVectorCommon.h.inl:704
FORCEINLINE void VectorQuaternionMultiply(FQuat4f *RESTRICT Result, const FQuat4f *RESTRICT Quat1, const FQuat4f *RESTRICT Quat2)
Definition UnrealMathVectorCommon.h.inl:894
FORCEINLINE VectorRegister4Float VectorNormalizeRotator(VectorRegister4Float UnnormalizedRotator)
Definition UnrealMathVectorCommon.h.inl:628
FORCEINLINE VectorRegister4Float VectorClamp(VectorRegister4Float X, VectorRegister4Float VecMin, VectorRegister4Float VecMax)
Definition UnrealMathVectorCommon.h.inl:495
FORCEINLINE VectorRegister4Float VectorLoadFloat3(const float *Ptr)
VectorLoadFloat3.
Definition UnrealMathVectorCommon.h.inl:102
FORCEINLINE VectorRegister4Float VectorQuaternionInverseRotateVector(VectorRegister4Float Quat, VectorRegister4Float VectorW0)
Definition UnrealMathVectorCommon.h.inl:783
FORCEINLINE VectorRegister4Float VectorLerpQuat(VectorRegister4Float A, VectorRegister4Float B, VectorRegister4Float Alpha)
Definition UnrealMathVectorCommon.h.inl:660
FORCEINLINE VectorRegister4Float VectorLoadFloat3_W0(const float *Ptr)
VectorLoadFloat3_W0.
Definition UnrealMathVectorCommon.h.inl:129
FORCEINLINE VectorRegister4Float VectorReciprocalSqrtAccurate(VectorRegister4Float Vec)
Definition UnrealMathVectorCommon.h.inl:375
FORCEINLINE VectorRegister4Double VectorSetDouble1(double D)
Definition UnrealMathVectorCommon.h.inl:820
FORCEINLINE VectorRegister4Float VectorLoadFloat3_W1(const float *Ptr)
VectorLoadFloat3_W1.
Definition UnrealMathVectorCommon.h.inl:167
FORCEINLINE VectorRegister4Float VectorNormalizeQuaternion(VectorRegister4Float UnnormalizedQuat)
Definition UnrealMathVectorCommon.h.inl:600
FORCEINLINE VectorRegister4Double VectorLoadDouble3(const double *Ptr)
Definition UnrealMathVectorCommon.h.inl:113
FORCEINLINE VectorRegister4Double VectorLoadDouble3_W0(const double *Ptr)
Definition UnrealMathVectorCommon.h.inl:151
typename UE::Math::VectorRegisterPrivate::TVectorRegisterTypeHelper< T >::Type TVectorRegisterType
Definition VectorRegister.h:49
constexpr VectorRegister4Float SmallLengthThreshold
Definition UnrealMathVectorConstants.h.inl:46
constexpr VectorRegister4Float FloatOne
Definition UnrealMathVectorConstants.h.inl:40
constexpr VectorRegister4Float QINV_SIGN_MASK
Definition UnrealMathVectorConstants.h.inl:83
constexpr VectorRegister4Float Float360
Definition UnrealMathVectorConstants.h.inl:138
constexpr VectorRegister4Double Double360
Definition UnrealMathVectorConstants.h.inl:144
constexpr VectorRegister4Float Float180
Definition UnrealMathVectorConstants.h.inl:139
constexpr VectorRegister4Double DoubleSmallLengthThreshold
Definition UnrealMathVectorConstants.h.inl:64
constexpr VectorRegister4Double Double0001
Definition UnrealMathVectorConstants.h.inl:61
constexpr VectorRegister4Float Float0001
Definition UnrealMathVectorConstants.h.inl:43
constexpr VectorRegister4Double DOUBLE_QINV_SIGN_MASK
Definition UnrealMathVectorConstants.h.inl:84
constexpr VectorRegister4Double DoubleOne
Definition UnrealMathVectorConstants.h.inl:58
constexpr VectorRegister4Double Double180
Definition UnrealMathVectorConstants.h.inl:145
Definition UnrealMathUtility.h:270
static FORCEINLINE VectorRegister4Double Lerp(VectorRegister4Double A, VectorRegister4Double B, VectorRegister4Double Alpha)
Definition UnrealMathVectorCommon.h.inl:564
static FORCEINLINE VectorRegister4Float Lerp(VectorRegister4Float A, VectorRegister4Float B, VectorRegister4Float Alpha)
Definition UnrealMathVectorCommon.h.inl:551
Definition UnrealMathUtility.h:261
static constexpr bool Value
Definition UnrealMathUtility.h:262
Definition UnrealMathFPU.h:42
Definition UnrealMathFPU.h:20