![]() |
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. | |
| 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. | |
| JPH_INLINE bool | operator== (UVec8Arg inV2) const |
| Comparison. | |
| JPH_INLINE bool | operator!= (UVec8Arg inV2) const |
| JPH_INLINE uint32 | operator[] (uint inCoordinate) const |
| Get float component by index. | |
| 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) | |
| JPH_INLINE bool | TestAnyTrue () const |
| Test if any of the components are true (true is when highest bit of component is set) | |
| JPH_INLINE bool | TestAllTrue () const |
| Test if all components are true (true is when highest bit of component is set) | |
| JPH_INLINE UVec4 | LowerVec4 () const |
| Fetch the lower 128 bit from a 256 bit variable. | |
| JPH_INLINE UVec4 | UpperVec4 () const |
| Fetch the higher 128 bit from a 256 bit variable. | |
| JPH_INLINE Vec8 | ToFloat () const |
| Converts int to float. | |
| template<const uint Count> | |
| JPH_INLINE UVec8 | LogicalShiftLeft () const |
| Shift all components by Count bits to the left (filling with zeros from the left) | |
| template<const uint Count> | |
| JPH_INLINE UVec8 | LogicalShiftRight () const |
| Shift all components by Count bits to the right (filling with zeros from the right) | |
| 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) | |
| 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. | |
| static JPH_INLINE UVec8 | sSplatX (UVec4Arg inV) |
| Replicate the X component of inV to all components. | |
| static JPH_INLINE UVec8 | sSplatY (UVec4Arg inV) |
| Replicate the Y component of inV to all components. | |
| static JPH_INLINE UVec8 | sSplatZ (UVec4Arg inV) |
| Replicate the Z component of inV to all components. | |
| static JPH_INLINE UVec8 | sEquals (UVec8Arg inV1, UVec8Arg inV2) |
| Equals (component wise) | |
| 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. | |
| static JPH_INLINE UVec8 | sOr (UVec8Arg inV1, UVec8Arg inV2) |
| Logical or. | |
| static JPH_INLINE UVec8 | sXor (UVec8Arg inV1, UVec8Arg inV2) |
| Logical xor. | |
| static JPH_INLINE UVec8 | sAnd (UVec8Arg inV1, UVec8Arg inV2) |
| Logical and. | |
Public Attributes | ||
| union { | ||
| __m256i mValue | ||
| uint32 mU32 [8] | ||
| }; | ||
|
default |
Intentionally not initialized for performance reasons.
|
inline |
| JPH_NAMESPACE_BEGIN UVec8::UVec8 | ( | UVec4Arg | inLo, |
| UVec4Arg | inHi ) |
Set 256 bit vector from 2 128 bit vectors.
| JPH_INLINE UVec8 UVec8::ArithmeticShiftRight | ( | ) | const |
Shift all components by Count bits to the right (shifting in the value of the highest bit)
| JPH_INLINE UVec8 UVec8::LogicalShiftLeft | ( | ) | const |
Shift all components by Count bits to the left (filling with zeros from the left)
| JPH_INLINE UVec8 UVec8::LogicalShiftRight | ( | ) | const |
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 |
|
inline |
|
inline |
Get float component by index.
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 |
| uint32 UVec8::mU32[8] |
| __m256i UVec8::mValue |