diff options
| author | Rye <rye@lindenlab.com> | 2025-02-02 03:40:21 -0500 |
|---|---|---|
| committer | Rye <rye@lindenlab.com> | 2025-02-11 05:04:05 -0500 |
| commit | 39a13e4088db6e4023d196de07765363ddce2c4f (patch) | |
| tree | 612417d310bd8796424d34dc43a03ebdc9e39541 /indra/llmath/llsimdtypes.h | |
| parent | 6fcd349f374710a3f4e0e0585bb6d7af86ebb66d (diff) | |
Restore math types to trivially copyable and add static asserts
Diffstat (limited to 'indra/llmath/llsimdtypes.h')
| -rw-r--r-- | indra/llmath/llsimdtypes.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/indra/llmath/llsimdtypes.h b/indra/llmath/llsimdtypes.h index a407f51029..6c4f55b0c0 100644 --- a/indra/llmath/llsimdtypes.h +++ b/indra/llmath/llsimdtypes.h @@ -36,7 +36,7 @@ typedef __m128 LLQuad; class LLBool32 { public: - inline LLBool32() {} + inline LLBool32() = default; inline LLBool32(int rhs) : m_bool(rhs) {} inline LLBool32(unsigned int rhs) : m_bool(rhs) {} inline LLBool32(bool rhs) { m_bool = static_cast<const int>(rhs); } @@ -46,13 +46,15 @@ public: inline operator bool() const { return static_cast<const bool&>(m_bool); } private: - int m_bool{ 0 }; + int m_bool; }; +static_assert(std::is_trivial<LLBool32>::value, "LLBool32 must be a standard layout type"); + class LLSimdScalar { public: - inline LLSimdScalar() {} + inline LLSimdScalar() = default; inline LLSimdScalar(LLQuad q) { mQ = q; @@ -100,7 +102,9 @@ public: } private: - LLQuad mQ{}; + LLQuad mQ; }; +static_assert(std::is_trivial<LLSimdScalar>::value, "LLSimdScalar must be a standard layout type"); + #endif //LL_SIMD_TYPES_H |
