37 concept CSIMDorFloat = std::same_as<T, float> || std::same_as<T, simd>;
42 template<Impl::CSIMDorFloat T>
45 template<Impl::CSIMDorFloat T, std::
size_t N>
64 template<Impl::CSIMDorFloat T, std::
size_t N>
87 template<Impl::CSIMDorFloat T>
97 template<CVec3 Vec3Type>
100 if constexpr (std::same_as<T, float>)
#define JPL_ASSERT(inExpression,...)
Main assert macro, usage: JPL_ASSERT(condition, message) or JPL_ASSERT(condition)
Definition ErrorReporting.h:76
Definition Vec3Buffer.h:37
Definition AcousticMaterial.h:36
JPL_INLINE void SetZ(Vec3Type &v, Vec3FloatType< Vec3Type > value) noexcept
Definition Vec3Traits.h:41
JPL_INLINE void SetY(Vec3Type &v, Vec3FloatType< Vec3Type > value) noexcept
Definition Vec3Traits.h:40
std::uint32_t uint32
Definition Core.h:311
JPL_INLINE void SetX(Vec3Type &v, Vec3FloatType< Vec3Type > value) noexcept
Definition Vec3Traits.h:39
JPL_INLINE simd min(const simd &a, const simd &b) noexcept
Element-wise min.
Definition SIMD.h:1813
Definition Vec3Buffer.h:89
std::size_t Count
Definition Vec3Buffer.h:93
T * Z
Definition Vec3Buffer.h:92
JPL_INLINE std::size_t size() const noexcept
Definition Vec3Buffer.h:95
T * Y
Definition Vec3Buffer.h:91
JPL_INLINE void Unpack(std::span< Vec3Type > outVec3s) const
Definition Vec3Buffer.h:98
JPL_INLINE void CopyTo(Vec3BufferView &other) const
Definition Vec3Buffer.h:127
T * X
Definition Vec3Buffer.h:90
Definition Vec3Buffer.h:66
T Y[N]
Definition Vec3Buffer.h:68
JPL_INLINE Vec3BufferView< T > MakeView(std::size_t offset, std::size_t count) noexcept
Definition Vec3Buffer.h:77
T X[N]
Definition Vec3Buffer.h:67
JPL_INLINE Vec3BufferView< T > MakeView(std::size_t count) noexcept
Definition Vec3Buffer.h:71
T Z[N]
Definition Vec3Buffer.h:69
JPL_INLINE void store(float *mem) const
Store values from simd to provided memory location.
Definition SIMD.h:573
static constexpr std::size_t size() noexcept
Get number of element of the vector.
Definition SIMD.h:97