Template Struct SimdVectorStorage#

Struct Documentation#

template<typename ScalarType, size_t NumDims>
struct SimdVectorStorage#

Public Types

using Scalar = ScalarType#
using Packet = typename typetraits::TypeInfo<Scalar>::Packet#
using IndexType = typename typetraits::TypeInfo<SimdVectorStorage>::IndexType#
using IndexTypeConst = typename typetraits::TypeInfo<SimdVectorStorage>::IndexTypeConst#
using GetType = typename typetraits::TypeInfo<SimdVectorStorage>::GetType#

Public Functions

template<typename ...Args>
inline explicit SimdVectorStorage(Args... args)#
template<typename T>
inline SimdVectorStorage(const std::initializer_list<T> &other)#
template<typename T>
inline SimdVectorStorage(const std::vector<T> &other)#
inline IndexTypeConst operator[](int64_t index) const#
inline IndexType operator[](int64_t index)#
inline auto sum() const -> Scalar#
inline auto sum2() const -> Scalar#
inline const Packet &_get(size_t index) const#
inline void _set(size_t index, const Packet &value)#

Public Members

ScalarToSimd<Scalar, dims> data#

Public Static Attributes

static constexpr size_t dims = NumDims#
static constexpr size_t packetWidth = typetraits::TypeInfo<Scalar>::packetWidth#
static constexpr size_t length = (dims + packetWidth - 1) / packetWidth#