18 JPH_INLINE
UVec8(__m256i inRHS) : mValue(inRHS) { }
24 JPH_INLINE
bool operator == (
UVec8Arg inV2)
const;
25 JPH_INLINE
bool operator != (
UVec8Arg inV2)
const {
return !(*
this == inV2); }
55 JPH_INLINE
uint32 operator [] (
uint inCoordinate)
const {
JPH_ASSERT(inCoordinate < 8);
return mU32[inCoordinate]; }
56 JPH_INLINE
uint32 & operator [] (
uint inCoordinate) {
JPH_ASSERT(inCoordinate < 8);
return mU32[inCoordinate]; }
59 template<u
int32 SwizzleX, u
int32 SwizzleY, u
int32 SwizzleZ, u
int32 SwizzleW>
63 JPH_INLINE
bool TestAnyTrue()
const;
66 JPH_INLINE
bool TestAllTrue()
const;
69 JPH_INLINE
UVec4 LowerVec4()
const;
72 JPH_INLINE
UVec4 UpperVec4()
const;
75 JPH_INLINE
Vec8 ToFloat()
const;
78 template <const u
int Count>
82 template <const u
int Count>
86 template <const u
int Count>
96static_assert(is_trivial<UVec8>(),
"Is supposed to be a trivial type!");
unsigned int uint
Definition: Core.h:452
#define JPH_NAMESPACE_END
Definition: Core.h:378
std::uint32_t uint32
Definition: Core.h:455
#define JPH_NAMESPACE_BEGIN
Definition: Core.h:372
#define JPH_ASSERT(...)
Definition: IssueReporting.h:33
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition: Memory.h:31
JPH_OVERRIDE_NEW_DELETE UVec8()=default
Intentionally not initialized for performance reasons.
JPH_INLINE UVec8 Swizzle() const
256 bit variant of Vec::Swizzle (no cross 128 bit lane swizzle)
JPH_INLINE UVec8 ArithmeticShiftRight() const
Shift all components by Count bits to the right (shifting in the value of the highest bit)
JPH_INLINE UVec8 LogicalShiftRight() const
Shift all components by Count bits to the right (filling with zeros from the right)
JPH_INLINE UVec8(__m256i inRHS)
Definition: UVec8.h:18
UVec8(const UVec8 &inRHS)=default
__m256i mValue
Definition: UVec8.h:91
JPH_INLINE UVec8 LogicalShiftLeft() const
Shift all components by Count bits to the left (filling with zeros from the left)