13#ifndef ML_FLOATING_POINT_MATRIX_H
14#define ML_FLOATING_POINT_MATRIX_H
33template <
class VectorT,
size_t size>
98template <
class VectorT,
size_t size>
110template <
class VectorT,
size_t size>
122template <
class VectorT,
size_t size>
126 return v[idx/VectorT::Size][idx%VectorT::Size];
135template <
class VectorT,
size_t size>
138 typename VectorT::ComponentType retVal =
v[0][0];
140 retVal =
v[idx/VectorT::Size][idx%VectorT::Size];
149template <
class VectorT,
size_t size>
152 typename VectorT::ComponentType retVal = 0;
163template <
class VectorT,
size_t size>
169 v[i][j] = values[n++];
176template <
class VectorT,
size_t size>
182 values[n++] =
v[i][j];
ComponentType linearIndexedConst(const size_t idx) const
VectorT::ComponentType ComponentType
A typedef to 'export' the type of subcomponents.
const VectorT & operator[](const size_t i) const
VectorT v[size]
The rows constituting the matrix.
VectorT VectorType
A typedef to 'export' the type of component vector.
void getValuesToPtr(ComponentType *values) const
void setValuesFromPtr(const ComponentType *const values)
ComponentType compAbsSum() const
ComponentType & linearIndexed(const size_t idx)
void ML_UTILS_EXPORT printTemplateError(const char *location, MLErrorCode reason, const std::string_view &handling)