Jolt Physics
A multi core friendly Game Physics Engine
|
#include <UVec8.h>
Public Member Functions | |
JPH_OVERRIDE_NEW_DELETE | UVec8 ()=default |
Intentionally not initialized for performance reasons. More... | |
UVec8 (const UVec8 &inRHS)=default | |
JPH_INLINE | UVec8 (__m256i inRHS) |
JPH_INLINE | UVec8 (UVec4Arg inLo, UVec4Arg inHi) |
Set 256 bit vector from 2 128 bit vectors. More... | |
JPH_INLINE bool | operator== (UVec8Arg inV2) const |
Comparison. More... | |
JPH_INLINE bool | operator!= (UVec8Arg inV2) const |
JPH_INLINE uint32 | operator[] (uint inCoordinate) const |
Get float component by index. More... | |
JPH_INLINE uint32 & | operator[] (uint inCoordinate) |
template<uint32 SwizzleX, uint32 SwizzleY, uint32 SwizzleZ, uint32 SwizzleW> | |
JPH_INLINE UVec8 | Swizzle () const |
256 bit variant of Vec::Swizzle (no cross 128 bit lane swizzle) More... | |
JPH_INLINE bool | TestAnyTrue () const |
Test if any of the components are true (true is when highest bit of component is set) More... | |
JPH_INLINE bool | TestAllTrue () const |
Test if all components are true (true is when highest bit of component is set) More... | |
JPH_INLINE UVec4 | LowerVec4 () const |
Fetch the lower 128 bit from a 256 bit variable. More... | |
JPH_INLINE UVec4 | UpperVec4 () const |
Fetch the higher 128 bit from a 256 bit variable. More... | |
JPH_INLINE Vec8 | ToFloat () const |
Converts int to float. More... | |
template<const uint Count> | |
JPH_INLINE UVec8 | LogicalShiftLeft () const |
Shift all components by Count bits to the left (filling with zeros from the left) More... | |
template<const uint Count> | |
JPH_INLINE UVec8 | LogicalShiftRight () const |
Shift all components by Count bits to the right (filling with zeros from the right) More... | |
template<const uint Count> | |
JPH_INLINE UVec8 | ArithmeticShiftRight () const |
Shift all components by Count bits to the right (shifting in the value of the highest bit) More... | |
template<uint32 SwizzleX, uint32 SwizzleY, uint32 SwizzleZ, uint32 SwizzleW> | |
UVec8 | Swizzle () const |
template<const uint Count> | |
UVec8 | LogicalShiftLeft () const |
template<const uint Count> | |
UVec8 | LogicalShiftRight () const |
template<const uint Count> | |
UVec8 | ArithmeticShiftRight () const |
Static Public Member Functions | |
static JPH_INLINE UVec8 | sReplicate (uint32 inV) |
Replicate int across all components. More... | |
static JPH_INLINE UVec8 | sSplatX (UVec4Arg inV) |
Replicate the X component of inV to all components. More... | |
static JPH_INLINE UVec8 | sSplatY (UVec4Arg inV) |
Replicate the Y component of inV to all components. More... | |
static JPH_INLINE UVec8 | sSplatZ (UVec4Arg inV) |
Replicate the Z component of inV to all components. More... | |
static JPH_INLINE UVec8 | sEquals (UVec8Arg inV1, UVec8Arg inV2) |
Equals (component wise) More... | |
static JPH_INLINE UVec8 | sSelect (UVec8Arg inV1, UVec8Arg inV2, UVec8Arg inControl) |
Component wise select, returns inV1 when highest bit of inControl = 0 and inV2 when highest bit of inControl = 1. More... | |
static JPH_INLINE UVec8 | sOr (UVec8Arg inV1, UVec8Arg inV2) |
Logical or. More... | |
static JPH_INLINE UVec8 | sXor (UVec8Arg inV1, UVec8Arg inV2) |
Logical xor. More... | |
static JPH_INLINE UVec8 | sAnd (UVec8Arg inV1, UVec8Arg inV2) |
Logical and. More... | |
Public Attributes | |
union { | |
__m256i mValue | |
uint32 mU32 [8] | |
}; | |
|
default |
Intentionally not initialized for performance reasons.
|
default |
|
inline |
JPH_NAMESPACE_BEGIN UVec8::UVec8 | ( | UVec4Arg | inLo, |
UVec4Arg | inHi | ||
) |
Set 256 bit vector from 2 128 bit vectors.
Shift all components by Count bits to the right (shifting in the value of the highest bit)
Shift all components by Count bits to the left (filling with zeros from the left)
Shift all components by Count bits to the right (filling with zeros from the right)
UVec4 UVec8::LowerVec4 | ( | ) | const |
Fetch the lower 128 bit from a 256 bit variable.
|
inline |
bool UVec8::operator== | ( | UVec8Arg | inV2 | ) | const |
Comparison.
Component wise select, returns inV1 when highest bit of inControl = 0 and inV2 when highest bit of inControl = 1.
JPH_INLINE UVec8 UVec8::Swizzle | ( | ) | const |
256 bit variant of Vec::Swizzle (no cross 128 bit lane swizzle)
UVec8 UVec8::Swizzle | ( | ) | const |
bool UVec8::TestAllTrue | ( | ) | const |
Test if all components are true (true is when highest bit of component is set)
bool UVec8::TestAnyTrue | ( | ) | const |
Test if any of the components are true (true is when highest bit of component is set)
Vec8 UVec8::ToFloat | ( | ) | const |
Converts int to float.
UVec4 UVec8::UpperVec4 | ( | ) | const |
Fetch the higher 128 bit from a 256 bit variable.
union { ... } UVec8::@15 |
uint32 UVec8::mU32[8] |
__m256i UVec8::mValue |