Ark Server API (ASA) - Wiki
|
Go to the source code of this file.
Classes | |
struct | VectorRegister4Float |
struct | VectorRegister4Int |
struct | VectorRegister2Double |
struct | VectorRegister4Double |
struct | AlignedFloat4 |
struct | AlignedDouble4 |
Definition at line 148 of file UnrealMathFPU.h.
#define USE_FAST_QUAT_MUL 1 |
Definition at line 1377 of file UnrealMathFPU.h.
#define VECTOR_ROUND_TOWARD_ZERO 0 |
Control status bit to round all floating point math results towards zero.
Definition at line 2067 of file UnrealMathFPU.h.
#define VectorCastFloatToInt | ( | Vec | ) | VectorIntLoad(Vec.V) |
Definition at line 2707 of file UnrealMathFPU.h.
#define VectorCastIntToFloat | ( | Vec | ) | VectorLoad((float*)(Vec.V)) |
Definition at line 2706 of file UnrealMathFPU.h.
#define VectorGetComponent | ( | Vec, | |
ComponentIndex ) VectorGetComponentImpl<ComponentIndex>(Vec) |
Definition at line 370 of file UnrealMathFPU.h.
#define VectorGetControlRegister | ( | ) | 0 |
Returns the control register.
Definition at line 2055 of file UnrealMathFPU.h.
#define VectorIntExpandLow16To32 | ( | V0 | ) | static_assert(false, "Unimplemented") |
Definition at line 2712 of file UnrealMathFPU.h.
Definition at line 2705 of file UnrealMathFPU.h.
#define VectorIntSign | ( | A | ) | VectorIntSelect( VectorIntCompareGE(A, GlobalVectorConstants::IntZero), GlobalVectorConstants::IntOne, GlobalVectorConstants::IntMinusOne ) |
Definition at line 2590 of file UnrealMathFPU.h.
#define VectorLoadByte4 | ( | Ptr | ) | MakeVectorRegisterFloat( float(((const uint8*)(Ptr))[0]), float(((const uint8*)(Ptr))[1]), float(((const uint8*)(Ptr))[2]), float(((const uint8*)(Ptr))[3]) ) |
Loads 4 BYTEs from unaligned memory and converts them into 4 FLOATs. IMPORTANT: You need to call VectorResetFloatRegisters() before using scalar FLOATs after you've used this intrinsic!
Ptr | Unaligned memory pointer to the 4 BYTEs. |
Definition at line 1929 of file UnrealMathFPU.h.
#define VectorLoadByte4Reverse | ( | Ptr | ) | MakeVectorRegisterFloat( float(((const uint8*)(Ptr))[3]), float(((const uint8*)(Ptr))[2]), float(((const uint8*)(Ptr))[1]), float(((const uint8*)(Ptr))[0]) ) |
Loads 4 BYTEs from unaligned memory and converts them into 4 FLOATs in reversed order. IMPORTANT: You need to call VectorResetFloatRegisters() before using scalar FLOATs after you've used this intrinsic!
Ptr | Unaligned memory pointer to the 4 BYTEs. |
Definition at line 1948 of file UnrealMathFPU.h.
#define VectorLoadSignedByte4 | ( | Ptr | ) | MakeVectorRegisterFloat( float(((const int8*)(Ptr))[0]), float(((const int8*)(Ptr))[1]), float(((const int8*)(Ptr))[2]), float(((const int8*)(Ptr))[3]) ) |
Loads 4 signed BYTEs from unaligned memory and converts them into 4 FLOATs. IMPORTANT: You need to call VectorResetFloatRegisters() before using scalar FLOATs after you've used this intrinsic!
Ptr | Unaligned memory pointer to the 4 BYTEs. |
Definition at line 1938 of file UnrealMathFPU.h.
#define VectorOneVectorRegister | ( | ) | VectorOneDouble() |
Definition at line 145 of file UnrealMathFPU.h.
#define VectorReplicate | ( | Vec, | |
ElementIndex ) MakeVectorRegister( (Vec).V[ElementIndex], (Vec).V[ElementIndex], (Vec).V[ElementIndex], (Vec).V[ElementIndex] ) |
Replicates one element into all four elements and returns the new vector.
Vec | Source vector |
ElementIndex | Index (0-3) of the element to replicate |
Definition at line 585 of file UnrealMathFPU.h.
#define VectorResetFloatRegisters | ( | ) |
Resets the floating point registers so that they can be used again. Some intrinsics use these for MMX purposes (e.g. VectorLoadByte4 and VectorStoreByte4).
Definition at line 2048 of file UnrealMathFPU.h.
#define VectorSet1 | ( | F | ) | VectorSetFloat1(F) |
Definition at line 2704 of file UnrealMathFPU.h.
#define VectorSetControlRegister | ( | ControlStatus | ) |
Sets the control register.
ControlStatus | The uint32 control status value to set |
Definition at line 2062 of file UnrealMathFPU.h.
#define VectorSetZero | ( | ) | MakeVectorRegisterFloat(0.f, 0.f, 0.f, 0.f) |
Definition at line 2703 of file UnrealMathFPU.h.
#define VectorShiftLeftImm | ( | Vec, | |
ImmAmt ) static_assert(false, "Unimplemented") |
Definition at line 2709 of file UnrealMathFPU.h.
#define VectorShiftRightImmArithmetic | ( | Vec, | |
ImmAmt ) static_assert(false, "Unimplemented") |
Definition at line 2710 of file UnrealMathFPU.h.
#define VectorShiftRightImmLogical | ( | Vec, | |
ImmAmt ) static_assert(false, "Unimplemented") |
Definition at line 2711 of file UnrealMathFPU.h.
#define VectorShuffle | ( | Vec1, | |
Vec2, | |||
X, | |||
Y, | |||
Z, | |||
W ) MakeVectorRegister( (Vec1).V[X], (Vec1).V[Y], (Vec2).V[Z], (Vec2).V[W] ) |
Creates a vector through selecting two components from each vector via a shuffle mask.
Vec1 | Source vector1 |
Vec2 | Source vector2 |
X | Index for which component of Vector1 to use for X (literal 0-3) |
Y | Index for which component to Vector1 to use for Y (literal 0-3) |
Z | Index for which component to Vector2 to use for Z (literal 0-3) |
W | Index for which component to Vector2 to use for W (literal 0-3) |
Definition at line 610 of file UnrealMathFPU.h.
Definition at line 2708 of file UnrealMathFPU.h.
#define VectorSwizzle | ( | Vec, | |
X, | |||
Y, | |||
Z, | |||
W ) MakeVectorRegister( (Vec).V[X], (Vec).V[Y], (Vec).V[Z], (Vec).V[W] ) |
Swizzles the 4 components of a vector and returns the result.
Vec | Source vector |
X | Index for which component to use for X (literal 0-3) |
Y | Index for which component to use for Y (literal 0-3) |
Z | Index for which component to use for Z (literal 0-3) |
W | Index for which component to use for W (literal 0-3) |
Definition at line 597 of file UnrealMathFPU.h.
#define VectorZeroVectorRegister | ( | ) | VectorZeroDouble() |
Definition at line 144 of file UnrealMathFPU.h.
Definition at line 143 of file UnrealMathFPU.h.
Definition at line 93 of file UnrealMathFPU.h.
Definition at line 89 of file UnrealMathFPU.h.
Definition at line 90 of file UnrealMathFPU.h.
Definition at line 88 of file UnrealMathFPU.h.
Definition at line 87 of file UnrealMathFPU.h.
Definition at line 86 of file UnrealMathFPU.h.
Definition at line 94 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double MakeVectorRegister | ( | double | X, |
double | Y, | ||
double | Z, | ||
double | W ) |
Definition at line 243 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float MakeVectorRegister | ( | float | X, |
float | Y, | ||
float | Z, | ||
float | W ) |
Definition at line 238 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float MakeVectorRegister | ( | uint32 | X, |
uint32 | Y, | ||
uint32 | Z, | ||
uint32 | W ) |
Definition at line 188 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister2Double MakeVectorRegister2Double | ( | double | X, |
double | Y ) |
Definition at line 151 of file UnrealMathFPU.h.
|
constexpr |
Definition at line 295 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double MakeVectorRegisterDouble | ( | const VectorRegister2Double & | XY, |
const VectorRegister2Double & | ZW ) |
Definition at line 233 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double MakeVectorRegisterDouble | ( | const VectorRegister4Float & | From | ) |
Definition at line 249 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double MakeVectorRegisterDouble | ( | double | X, |
double | Y, | ||
double | Z, | ||
double | W ) |
Definition at line 223 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double MakeVectorRegisterDouble | ( | uint64 | X, |
uint64 | Y, | ||
uint64 | Z, | ||
uint64 | W ) |
Definition at line 178 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double MakeVectorRegisterDoubleMask | ( | uint64 | X, |
uint64 | Y, | ||
uint64 | Z, | ||
uint64 | W ) |
Definition at line 199 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float MakeVectorRegisterFloat | ( | float | X, |
float | Y, | ||
float | Z, | ||
float | W ) |
Returns a vector based on 4 FLOATs.
X | 1st float component |
Y | 2nd float component |
Z | 3rd float component |
W | 4th float component |
Definition at line 213 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float MakeVectorRegisterFloat | ( | uint32 | X, |
uint32 | Y, | ||
uint32 | Z, | ||
uint32 | W ) |
Returns a bitwise equivalent vector based on 4 DWORDs.
X | 1st uint32 component |
Y | 2nd uint32 component |
Z | 3rd uint32 component |
W | 4th uint32 component |
Definition at line 168 of file UnrealMathFPU.h.
|
constexpr |
Definition at line 290 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float MakeVectorRegisterFloatFromDouble | ( | const VectorRegister4Double & | Vec4d | ) |
Definition at line 255 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float MakeVectorRegisterFloatMask | ( | uint32 | X, |
uint32 | Y, | ||
uint32 | Z, | ||
uint32 | W ) |
Definition at line 194 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int MakeVectorRegisterInt | ( | int32 | X, |
int32 | Y, | ||
int32 | Z, | ||
int32 | W ) |
Returns a vector based on 4 int32.
X | 1st int32 component |
Y | 2nd int32 component |
Z | 3rd int32 component |
W | 4th int32 component |
Definition at line 275 of file UnrealMathFPU.h.
|
constexpr |
Definition at line 285 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorAbs | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 629 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorAbs | ( | const VectorRegister4Float & | Vec | ) |
Returns the absolute value (component-wise).
Vec | Source vector |
Definition at line 619 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorACos | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2176 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorACos | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2171 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorAdd | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 672 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorAdd | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Adds two vectors (component-wise) and returns the result.
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 662 of file UnrealMathFPU.h.
FORCEINLINE uint32 VectorAnyGreaterThan | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 2038 of file UnrealMathFPU.h.
FORCEINLINE uint32 VectorAnyGreaterThan | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Returns non-zero if any element in Vec1 is greater than the corresponding element in Vec2, otherwise 0.
Vec1 | 1st source vector |
Vec2 | 2nd source vector |
Definition at line 2032 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorASin | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2165 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorASin | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2160 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorATan | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2187 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorATan | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2182 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorATan2 | ( | const VectorRegister4Double & | Y, |
const VectorRegister4Double & | X ) |
Definition at line 2202 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorATan2 | ( | const VectorRegister4Float & | Y, |
const VectorRegister4Float & | X ) |
Definition at line 2193 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorBitwiseAnd | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 1132 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorBitwiseAnd | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Combines two vectors using bitwise AND (treating each vector as a 128 bit field)
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 1123 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorBitwiseOr | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 1107 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorBitwiseOr | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Combines two vectors using bitwise OR (treating each vector as a 128 bit field)
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 1098 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorBitwiseXor | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 1157 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorBitwiseXor | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Combines two vectors using bitwise XOR (treating each vector as a 128 bit field)
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 1148 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorCeil | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2246 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorCeil | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2241 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorCombineHigh | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 1860 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorCombineHigh | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Creates a vector by combining two high components from each vector
Vec1 | Source vector1 |
Vec2 | Source vector2 |
Definition at line 1855 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorCombineLow | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 1877 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorCombineLow | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Creates a vector by combining two low components from each vector
Vec1 | Source vector1 |
Vec2 | Source vector2 |
Definition at line 1872 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorCompareEQ | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 890 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorCompareEQ | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Creates a four-part mask based on component-wise == compares of the input vectors
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 881 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorCompareGE | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 967 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorCompareGE | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Creates a four-part mask based on component-wise >= compares of the input vectors
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 958 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorCompareGT | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 941 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorCompareGT | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Creates a four-part mask based on component-wise > compares of the input vectors
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 932 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorCompareLE | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 1017 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorCompareLE | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Creates a four-part mask based on component-wise <= compares of the input vectors
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 1008 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorCompareLT | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 992 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorCompareLT | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Creates a four-part mask based on component-wise < compares of the input vectors
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 983 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorCompareNE | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 915 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorCompareNE | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Creates a four-part mask based on component-wise != compares of the input vectors
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 906 of file UnrealMathFPU.h.
|
inline |
Definition at line 2075 of file UnrealMathFPU.h.
|
inline |
Definition at line 2070 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorCos | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2142 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorCos | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2137 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorCross | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 1184 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorCross | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Calculates the cross product of two vectors (XYZ components). W of the input should be 0, and will remain 0.
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 1174 of file UnrealMathFPU.h.
FORCEINLINE void VectorDeinterleave | ( | VectorRegister4Double &RESTRICT | OutEvens, |
VectorRegister4Double &RESTRICT | OutOdds, | ||
const VectorRegister4Double &RESTRICT | Lo, | ||
const VectorRegister4Double &RESTRICT | Hi ) |
Definition at line 1898 of file UnrealMathFPU.h.
FORCEINLINE void VectorDeinterleave | ( | VectorRegister4Float &RESTRICT | OutEvens, |
VectorRegister4Float &RESTRICT | OutOdds, | ||
const VectorRegister4Float &RESTRICT | Lo, | ||
const VectorRegister4Float &RESTRICT | Hi ) |
Deinterleaves the components of the two given vectors such that the even components are in one vector and the odds in another.
Lo | [Even0, Odd0, Even1, Odd1] |
Hi | [Even2, Odd2, Even3, Odd3] |
OutEvens | [Even0, Even1, Even2, Even3] |
OutOdds | [Odd0, Odd1, Odd2, Odd3] |
Definition at line 1892 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorDivide | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 802 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorDivide | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Divides two vectors (component-wise) and returns the result.
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 792 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorDot3 | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 845 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorDot3 | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Calculates the dot3 product of two vectors and returns a vector with the result in all 4 components.
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 838 of file UnrealMathFPU.h.
FORCEINLINE double VectorDot3Scalar | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 825 of file UnrealMathFPU.h.
FORCEINLINE float VectorDot3Scalar | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Calculates the dot3 product of two vectors and returns a scalar value.
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 819 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorDot4 | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 866 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorDot4 | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Calculates the dot4 product of two vectors and returns a vector with the result in all 4 components.
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 859 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorExp | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2086 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorExp | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2081 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorExp2 | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2097 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorExp2 | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2092 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorFloatToInt | ( | const VectorRegister4Double & | A | ) |
Definition at line 2611 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorFloatToInt | ( | const VectorRegister4Float & | A | ) |
Definition at line 2601 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorFloor | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2257 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorFloor | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2252 of file UnrealMathFPU.h.
FORCEINLINE double VectorGetComponentDynamic | ( | const VectorRegister4Double & | Vec, |
uint32 | ComponentIndex ) |
Definition at line 365 of file UnrealMathFPU.h.
FORCEINLINE float VectorGetComponentDynamic | ( | const VectorRegister4Float & | Vec, |
uint32 | ComponentIndex ) |
Definition at line 354 of file UnrealMathFPU.h.
FORCEINLINE double VectorGetComponentImpl | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 360 of file UnrealMathFPU.h.
FORCEINLINE float VectorGetComponentImpl | ( | const VectorRegister4Float & | Vec | ) |
Returns an component from a vector.
Vec | Vector register |
ComponentIndex | Which component to get, X=0, Y=1, Z=2, W=3 |
Definition at line 349 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntAbs | ( | const VectorRegister4Int & | A | ) |
Definition at line 2581 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntAdd | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
Definition at line 2527 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntAnd | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
= a & b
Definition at line 2418 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntAndNot | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
= (~a) & b to match _mm_andnot_si128
Definition at line 2447 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntCompareEQ | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
Definition at line 2466 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntCompareGE | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
Definition at line 2502 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntCompareGT | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
Definition at line 2484 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntCompareLE | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
Definition at line 2511 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntCompareLT | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
Definition at line 2493 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntCompareNEQ | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
Definition at line 2475 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntLoad | ( | const void * | Ptr | ) |
Loads 4 int32s from unaligned memory.
Ptr | Unaligned memory pointer to the 4 int32s |
Definition at line 2645 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntLoad1 | ( | const void * | Ptr | ) |
Loads 1 int32 from unaligned memory into all components of a vector register.
Ptr | Unaligned memory pointer to the 4 int32s |
Definition at line 2692 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntLoadAligned | ( | const void * | Ptr | ) |
Loads 4 int32s from aligned memory.
Ptr | Aligned memory pointer to the 4 int32s |
Definition at line 2676 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntMax | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
Definition at line 2572 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntMin | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
Definition at line 2563 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntMultiply | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
Definition at line 2545 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntNegate | ( | const VectorRegister4Int & | A | ) |
Definition at line 2554 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntNot | ( | const VectorRegister4Int & | A | ) |
= ~a
Definition at line 2456 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntOr | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
= a | b
Definition at line 2428 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntSelect | ( | const VectorRegister4Int & | Mask, |
const VectorRegister4Int & | Vec1, | ||
const VectorRegister4Int & | Vec2 ) |
Definition at line 2521 of file UnrealMathFPU.h.
FORCEINLINE void VectorIntStore | ( | const VectorRegister4Int & | A, |
const void * | Ptr ) |
Stores a vector to memory (aligned or unaligned).
Vec | Vector to store |
Ptr | Memory pointer |
Definition at line 2629 of file UnrealMathFPU.h.
FORCEINLINE void VectorIntStoreAligned | ( | const VectorRegister4Int & | A, |
const void * | Ptr ) |
Stores a vector to memory (aligned).
Vec | Vector to store |
Ptr | Aligned Memory pointer |
Definition at line 2661 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntSubtract | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
Definition at line 2536 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorIntToFloat | ( | const VectorRegister4Int & | A | ) |
Definition at line 2592 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorIntXor | ( | const VectorRegister4Int & | A, |
const VectorRegister4Int & | B ) |
= a ^ b
Definition at line 2437 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorLoad | ( | const double * | Ptr | ) |
Definition at line 384 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorLoad | ( | const float * | Ptr | ) |
Loads 4 FLOATs from unaligned memory.
Ptr | Unaligned memory pointer to the 4 FLOATs |
Definition at line 379 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorLoadAligned | ( | const double * | Ptr | ) |
Definition at line 425 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorLoadAligned | ( | const float * | Ptr | ) |
Loads 4 FLOATs from aligned memory.
Ptr | Aligned memory pointer to the 4 FLOATs |
Loads 4 floats from aligned memory.
Ptr | Aligned memory pointer to the 4 floats |
Definition at line 420 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorLoadDouble1 | ( | const double * | Ptr | ) |
Definition at line 442 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorLoadFloat1 | ( | const float * | Ptr | ) |
Loads 1 float from unaligned memory and replicates it to all 4 elements.
Ptr | Unaligned memory pointer to the float |
Definition at line 437 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorLoadFloat2 | ( | const double * | Ptr | ) |
Definition at line 459 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorLoadFloat2 | ( | const float * | Ptr | ) |
Loads 2 floats from unaligned memory into X and Y and duplicates them in Z and W.
Ptr | Unaligned memory pointer to the floats |
Definition at line 454 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorLoadFloat3 | ( | const double * | Ptr | ) |
Loads 3 FLOATs from unaligned memory and sets W=0.
Ptr | Unaligned memory pointer to the 3 FLOATs |
Definition at line 396 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorLoadFloat3_W1 | ( | const double * | Ptr | ) |
Loads 3 FLOATs from unaligned memory and sets W=1.
Ptr | Unaligned memory pointer to the 3 FLOATs |
Definition at line 408 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorLoadSRGBA16N | ( | void * | Ptr | ) |
Loads packed signed RGBA16(4 bytes) from unaligned memory and converts them into 4 FLOATs. IMPORTANT: You need to call VectorResetFloatRegisters() before using scalar FLOATs after you've used this intrinsic!
Ptr | Unaligned memory pointer to the RGBA16(8 bytes). |
Definition at line 2378 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorLoadTwoPairsFloat | ( | const double * | Ptr1, |
const double * | Ptr2 ) |
Definition at line 476 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorLoadTwoPairsFloat | ( | const float * | Ptr1, |
const float * | Ptr2 ) |
Loads 4 unaligned floats - 2 from the first pointer, 2 from the second, and packs them in to 1 vector.
Ptr1 | Unaligned memory pointer to the first 2 floats |
Ptr2 | Unaligned memory pointer to the second 2 floats |
Definition at line 472 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorLoadURGB10A2N | ( | void * | Ptr | ) |
Loads packed RGB10A2(4 bytes) from unaligned memory and converts them into 4 FLOATs. IMPORTANT: You need to call VectorResetFloatRegisters() before using scalar FLOATs after you've used this intrinsic!
Ptr | Unaligned memory pointer to the RGB10A2(4 bytes). |
Definition at line 1990 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorLoadURGBA16N | ( | void * | Ptr | ) |
Loads packed RGBA16(4 bytes) from unaligned memory and converts them into 4 FLOATs. IMPORTANT: You need to call VectorResetFloatRegisters() before using scalar FLOATs after you've used this intrinsic!
Ptr | Unaligned memory pointer to the RGBA16(8 bytes). |
Definition at line 2358 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorLog | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2108 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorLog | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2103 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorLog2 | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2119 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorLog2 | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2114 of file UnrealMathFPU.h.
FORCEINLINE int32 VectorMaskBits | ( | const VectorRegister4Double & | Vec1 | ) |
Definition at line 1043 of file UnrealMathFPU.h.
FORCEINLINE int32 VectorMaskBits | ( | const VectorRegister4Float & | Vec1 | ) |
Returns an integer bit-mask (0x00 - 0x0f) based on the sign-bit for each component in a vector.
VecMask | Vector |
Definition at line 1033 of file UnrealMathFPU.h.
FORCEINLINE void VectorMatrixInverse | ( | FMatrix44d * | DstMatrix, |
const FMatrix44d * | SrcMatrix ) |
Calculate the inverse of an FMatrix44d.
DstMatrix | FMatrix44d pointer to where the result should be stored |
SrcMatrix | FMatrix44d pointer to the Matrix to be inversed |
Definition at line 1559 of file UnrealMathFPU.h.
FORCEINLINE void VectorMatrixInverse | ( | FMatrix44f * | DstMatrix, |
const FMatrix44f * | SrcMatrix ) |
Definition at line 1643 of file UnrealMathFPU.h.
FORCEINLINE void VectorMatrixMultiply | ( | FMatrix44d * | Result, |
const FMatrix44d * | Matrix1, | ||
const FMatrix44d * | Matrix2 ) |
Multiplies two 4x4 matrices.
Result | Pointer to where the result should be stored |
Matrix1 | Pointer to the first matrix |
Matrix2 | Pointer to the second matrix |
Definition at line 1496 of file UnrealMathFPU.h.
FORCEINLINE void VectorMatrixMultiply | ( | FMatrix44f * | Result, |
const FMatrix44f * | Matrix1, | ||
const FMatrix44f * | Matrix2 ) |
Definition at line 1524 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorMax | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 1838 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorMax | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Returns the maximum values of two vectors (component-wise).
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 1828 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorMergeVecXYZ_VecW | ( | const VectorRegister4Double & | VecXYZ, |
const VectorRegister4Double & | VecW ) |
Definition at line 1917 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorMergeVecXYZ_VecW | ( | const VectorRegister4Float & | VecXYZ, |
const VectorRegister4Float & | VecW ) |
Merges the XYZ components of one vector with the W component of another vector and returns the result.
VecXYZ | Source vector for XYZ_ |
VecW | Source register for ___W (note: the fourth component is used, not the first) |
Definition at line 1912 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorMin | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 1811 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorMin | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Returns the minimum values of two vectors (component-wise).
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 1801 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorMod | ( | const VectorRegister4Double & | X, |
const VectorRegister4Double & | Y ) |
Definition at line 2304 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorMod | ( | const VectorRegister4Float & | X, |
const VectorRegister4Float & | Y ) |
Definition at line 2295 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorMultiply | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 726 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorMultiply | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Multiplies two vectors (component-wise) and returns the result.
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 716 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorMultiplyAdd | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2, | ||
const VectorRegister4Double & | Vec3 ) |
Definition at line 754 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorMultiplyAdd | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2, | ||
const VectorRegister4Float & | Vec3 ) |
Multiplies two vectors (component-wise), adds in the third vector and returns the result.
Vec1 | 1st vector |
Vec2 | 2nd vector |
Vec3 | 3rd vector |
Definition at line 744 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorNegate | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 650 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorNegate | ( | const VectorRegister4Float & | Vec | ) |
Returns the negated value (component-wise).
Vec | Source vector |
Definition at line 645 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorNegateMultiplyAdd | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2, | ||
const VectorRegister4Double & | Vec3 ) |
Definition at line 778 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorNegateMultiplyAdd | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2, | ||
const VectorRegister4Float & | Vec3 ) |
Multiplies two vectors (component-wise), negates the results and adds it to the third vector i.e. -AB + C = C - AB
Vec1 | 1st vector |
Vec2 | 2nd vector |
Vec3 | 3rd vector |
Definition at line 773 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorOneDouble | ( | void | ) |
Definition at line 336 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorOneFloat | ( | void | ) |
Returns a vector with all ones.
Definition at line 331 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorPow | ( | const VectorRegister4Double & | Base, |
const VectorRegister4Double & | Exponent ) |
Definition at line 1211 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorPow | ( | const VectorRegister4Float & | Base, |
const VectorRegister4Float & | Exponent ) |
Calculates x raised to the power of y (component-wise).
Base | Base vector |
Exponent | Exponent vector |
Definition at line 1201 of file UnrealMathFPU.h.
FORCEINLINE void VectorQuaternionMultiply | ( | VectorRegister4Double *RESTRICT | Result, |
const VectorRegister4Double *RESTRICT | Quat1, | ||
const VectorRegister4Double *RESTRICT | Quat2 ) |
Definition at line 1427 of file UnrealMathFPU.h.
FORCEINLINE void VectorQuaternionMultiply | ( | VectorRegister4Float *RESTRICT | Result, |
const VectorRegister4Float *RESTRICT | Quat1, | ||
const VectorRegister4Float *RESTRICT | Quat2 ) |
Multiplies two quaternions; the order matters.
When composing quaternions: VectorQuaternionMultiply(C, A, B) will yield a quaternion C = A * B that logically first applies B then A to any subsequent transformation (right first, then left).
Result | Pointer to where the result Quat1 * Quat2 should be stored |
Quat1 | Pointer to the first quaternion (must not be the destination) |
Quat2 | Pointer to the second quaternion (must not be the destination) |
Definition at line 1389 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorQuaternionMultiply2 | ( | const VectorRegister4Double & | Quat1, |
const VectorRegister4Double & | Quat2 ) |
Definition at line 1482 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorQuaternionMultiply2 | ( | const VectorRegister4Float & | Quat1, |
const VectorRegister4Float & | Quat2 ) |
Multiplies two quaternions; the order matters.
Order matters when composing quaternions: C = VectorQuaternionMultiply2(A, B) will yield a quaternion C = A * B that logically first applies B then A to any subsequent transformation (right first, then left).
Quat1 | Pointer to the first quaternion |
Quat2 | Pointer to the second quaternion |
Definition at line 1475 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorReciprocal | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 1274 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorReciprocal | ( | const VectorRegister4Float & | Vec | ) |
Computes the reciprocal of a vector (component-wise) and returns the result.
Vec | 1st vector |
Definition at line 1269 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorReciprocalEstimate | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 1290 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorReciprocalEstimate | ( | const VectorRegister4Float & | Vec | ) |
FORCEINLINE VectorRegister4Double VectorReciprocalLen | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 1314 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorReciprocalLen | ( | const VectorRegister4Float & | Vec | ) |
Return Reciprocal Length of the vector
Vec | Vector |
Definition at line 1301 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorReciprocalLenEstimate | ( | const VectorRegister4Double & | Vector | ) |
Definition at line 1338 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorReciprocalLenEstimate | ( | const VectorRegister4Float & | Vector | ) |
Return Reciprocal Length of the vector (estimate)
Vector | Vector |
Definition at line 1333 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorReciprocalSqrt | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 1242 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorReciprocalSqrt | ( | const VectorRegister4Float & | Vec | ) |
Returns an estimate of 1/sqrt(c) for each component of the vector
Vector | Vector |
Definition at line 1237 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorReciprocalSqrtEstimate | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 1258 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorReciprocalSqrtEstimate | ( | const VectorRegister4Float & | Vec | ) |
Returns an estimate of 1/sqrt(c) for each component of the vector
Vector | Vector |
Definition at line 1253 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorRound | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2279 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorRound | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2274 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Int VectorRoundToIntHalfToEven | ( | const VectorRegister4Float & | A | ) |
Definition at line 2285 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorSelect | ( | const VectorRegister4Double & | Mask, |
const VectorRegister4Double & | Vec1, | ||
const VectorRegister4Double & | Vec2 ) |
Definition at line 1077 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorSelect | ( | const VectorRegister4Float & | Mask, |
const VectorRegister4Float & | Vec1, | ||
const VectorRegister4Float & | Vec2 ) |
Does a bitwise vector selection based on a mask (e.g., created from VectorCompareXX)
Mask | Mask (when 1: use the corresponding bit from Vec1 otherwise from Vec2) |
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 1063 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorSet_W0 | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 1354 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorSet_W0 | ( | const VectorRegister4Float & | Vec | ) |
Loads XYZ and sets W=0
Vec | VectorRegister |
Definition at line 1349 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorSet_W1 | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 1370 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorSet_W1 | ( | const VectorRegister4Float & | Vec | ) |
Loads XYZ and sets W=1
Vec | VectorRegister |
Definition at line 1365 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorSetFloat1 | ( | double | D | ) |
Definition at line 492 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorSetFloat1 | ( | float | F | ) |
Propagates passed in float to all registers
F | Float to set |
Definition at line 487 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorSign | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2323 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorSign | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2314 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorSin | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2130 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorSin | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2125 of file UnrealMathFPU.h.
FORCEINLINE void VectorSinCos | ( | VectorRegister4Double *RESTRICT | VSinAngles, |
VectorRegister4Double *RESTRICT | VCosAngles, | ||
const VectorRegister4Double *RESTRICT | VAngles ) |
Definition at line 2233 of file UnrealMathFPU.h.
FORCEINLINE void VectorSinCos | ( | VectorRegister4Float *RESTRICT | VSinAngles, |
VectorRegister4Float *RESTRICT | VCosAngles, | ||
const VectorRegister4Float *RESTRICT | VAngles ) |
Computes the sine and cosine of each component of a Vector.
VSinAngles | VectorRegister Pointer to where the Sin result should be stored |
VCosAngles | VectorRegister Pointer to where the Cos result should be stored |
VAngles | VectorRegister Pointer to the input angles |
Definition at line 2219 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorSqrt | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 1226 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorSqrt | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 1221 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorStep | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2342 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorStep | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2333 of file UnrealMathFPU.h.
FORCEINLINE void VectorStore | ( | const VectorRegister4Double & | Vec, |
double * | Dst ) |
Definition at line 540 of file UnrealMathFPU.h.
FORCEINLINE void VectorStore | ( | const VectorRegister4Float & | Vec, |
float * | Dst ) |
Stores a vector to memory (aligned or unaligned).
Vec | Vector to store |
Ptr | Memory pointer |
Definition at line 535 of file UnrealMathFPU.h.
FORCEINLINE void VectorStoreAligned | ( | const VectorRegister4Double & | Vec, |
double * | Dst ) |
Definition at line 508 of file UnrealMathFPU.h.
FORCEINLINE void VectorStoreAligned | ( | const VectorRegister4Float & | Vec, |
float * | Ptr ) |
Stores a vector to aligned memory.
Vec | Vector to store |
Ptr | Aligned memory pointer |
Definition at line 503 of file UnrealMathFPU.h.
FORCEINLINE void VectorStoreAlignedStreamed | ( | const VectorRegister4Double & | Vec, |
double * | Dst ) |
Definition at line 524 of file UnrealMathFPU.h.
FORCEINLINE void VectorStoreAlignedStreamed | ( | const VectorRegister4Float & | Vec, |
float * | Dst ) |
Performs non-temporal store of a vector to aligned memory without polluting the caches
Vec | Vector to store |
Ptr | Aligned memory pointer |
Definition at line 519 of file UnrealMathFPU.h.
FORCEINLINE void VectorStoreByte4 | ( | const VectorRegister4Float & | Vec, |
void * | Ptr ) |
Converts the 4 FLOATs in the vector to 4 BYTEs, clamped to [0,255], and stores to unaligned memory. IMPORTANT: You need to call VectorResetFloatRegisters() before using scalar FLOATs after you've used this intrinsic!
Vec | Vector containing 4 FLOATs |
Ptr | Unaligned memory pointer to store the 4 BYTEs. |
Definition at line 1957 of file UnrealMathFPU.h.
FORCEINLINE void VectorStoreFloat1 | ( | const VectorRegister4Double & | Vec, |
double * | Dst ) |
Definition at line 573 of file UnrealMathFPU.h.
FORCEINLINE void VectorStoreFloat1 | ( | const VectorRegister4Float & | Vec, |
float * | Dst ) |
Stores the X component of a vector to unaligned memory.
Vec | Vector to store X |
Ptr | Unaligned memory pointer |
Definition at line 568 of file UnrealMathFPU.h.
FORCEINLINE void VectorStoreFloat3 | ( | const VectorRegister4Double & | Vec, |
double * | Dst ) |
Definition at line 557 of file UnrealMathFPU.h.
FORCEINLINE void VectorStoreFloat3 | ( | const VectorRegister4Float & | Vec, |
float * | Dst ) |
Stores the XYZ components of a vector to unaligned memory.
Vec | Vector to store XYZ |
Ptr | Unaligned memory pointer |
Definition at line 552 of file UnrealMathFPU.h.
FORCEINLINE void VectorStoreSignedByte4 | ( | const VectorRegister4Float & | Vec, |
void * | Ptr ) |
Converts the 4 FLOATs in the vector to 4 BYTEs, clamped to [-127,127], and stores to unaligned memory. IMPORTANT: You need to call VectorResetFloatRegisters() before using scalar FLOATs after you've used this intrinsic!
Vec | Vector containing 4 FLOATs |
Ptr | Unaligned memory pointer to store the 4 BYTEs. |
Definition at line 1973 of file UnrealMathFPU.h.
FORCEINLINE void VectorStoreURGB10A2N | ( | const VectorRegister4Float & | Vec, |
void * | Ptr ) |
Converts the 4 FLOATs in the vector RGB10A2, clamped to [0, 1023] and [0, 3], and stores to unaligned memory. IMPORTANT: You need to call VectorResetFloatRegisters() before using scalar FLOATs after you've used this intrinsic!
Vec | Vector containing 4 FLOATs |
Ptr | Unaligned memory pointer to store the packed RGB10A2(4 bytes). |
Definition at line 2010 of file UnrealMathFPU.h.
FORCEINLINE void VectorStoreURGBA16N | ( | const VectorRegister4Float & | Vec, |
void * | Ptr ) |
Converts the 4 FLOATs in the vector RGBA16, clamped to [0, 65535], and stores to unaligned memory. IMPORTANT: You need to call VectorResetFloatRegisters() before using scalar FLOATs after you've used this intrinsic!
Vec | Vector containing 4 FLOATs |
Ptr | Unaligned memory pointer to store the packed RGBA16(8 bytes). |
Definition at line 2398 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorSubtract | ( | const VectorRegister4Double & | Vec1, |
const VectorRegister4Double & | Vec2 ) |
Definition at line 699 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorSubtract | ( | const VectorRegister4Float & | Vec1, |
const VectorRegister4Float & | Vec2 ) |
Subtracts a vector from another (component-wise) and returns the result.
Vec1 | 1st vector |
Vec2 | 2nd vector |
Definition at line 689 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorTan | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2154 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorTan | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2149 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorTransformVector | ( | const VectorRegister4Double & | VecP, |
const FMatrix44d * | MatrixM ) |
Definition at line 1764 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorTransformVector | ( | const VectorRegister4Double & | VecP, |
const FMatrix44f * | MatrixM ) |
Definition at line 1778 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorTransformVector | ( | const VectorRegister4Float & | VecP, |
const FMatrix44d * | MatrixM ) |
Definition at line 1748 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorTransformVector | ( | const VectorRegister4Float & | VecP, |
const FMatrix44f * | MatrixM ) |
Calculate Homogeneous transform.
VecP | VectorRegister |
MatrixM | FMatrix44d pointer to the Matrix to apply transform |
Definition at line 1734 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorTruncate | ( | const VectorRegister4Double & | Vec | ) |
Definition at line 2268 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorTruncate | ( | const VectorRegister4Float & | Vec | ) |
Definition at line 2263 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Double VectorZeroDouble | ( | void | ) |
Definition at line 321 of file UnrealMathFPU.h.
FORCEINLINE VectorRegister4Float VectorZeroFloat | ( | void | ) |