constexpr Column ()
Default constructor (no initialization!)
constexpr Column (const Column &A , const Operator <'-'> &Op)
Computational constructor for unary minus.
constexpr Column (const Column < R, value > &r, const value &V, const Mult &)
Computational constructor for scalar multiplicatoin.
template<class AType , class BType , OperatorID_t CompType>
constexpr Column (const FixedArray < AType, R > &l, const FixedArray < BType, R > &r, const Operator < CompType > &Op)
Generic computational constructor for two arrays of size compatible with the column vector.
template<class ValueType , OperatorID_t CompType>
constexpr Column (const FixedArray < ValueType, R > &l, const Operator < CompType > &C, const value &scalar)
Generic computational constructor for column/scalar operations.
template<class ValueType >
constexpr Column (const FixedArray < ValueType, R > &V)
Explicit construction from compatible base type.
template<dimension_t C>
Column (const Matrix < R, C, value > &A , const Column < C, value > &V)
Multiply r (rows) by c (columns) matrix A on the left by column vector V of dimension c on the right to produce a (column) vector Y output of dimension r.
template<dimension_t C>
Column (const Matrix < R, C, value > &M, int c)
Construct column vector from some matrix column.
template<class ValueType , OperatorID_t CompType>
constexpr Column (const Operator < CompType > &C, const value &scalar, const FixedArray < ValueType, R > &l)
Generic computational constructor for scalar/column operations.
constexpr Column (const Row < R, value > &r, const TransposeOperation &)
Computational constructor for transpose operation.
constexpr Column (const std::array< value, R > &V)
Explicit construction from compatible initializer list.
template<class Type >
constexpr Column (const std::initializer_list< Type > &V)
Explicit construction from compatible initializer list.
constexpr value & operator[] (int i)
Access element for writing.
constexpr const value & operator[] (int i) const
Element access operation for reading.
constexpr const Matrix_t & matrix () const
yield matrix here, useful for derived classes.
constexpr Matrix ()
Default constructor.
constexpr Matrix (const Matrix &M)
Copy constructor.
constexpr Matrix (const Base_t &V)
Construct matrix from linear vector.
constexpr Matrix (const std::array< T, 16 > &Init)
Construct matrix from initializer list.
constexpr Matrix (const Matrix &A , const value &V, const Operator <' *'> &M)
Computational constructor for multiplying matrix by scalar.
constexpr Matrix (const value &V, const Matrix &A , const Operator <' *'> &M)
Computational constructor for multiplying scalar by matrix.
constexpr Matrix (const Matrix &A , const value &V, const Operator <'/'> &Op)
Computational constructor for dividing matrix by scalar.
constexpr Matrix (const Matrix &A , const Matrix &B , const Operator <'+'> &Op)
Computational constructor for matrix addition.
constexpr Matrix (const Matrix &A , const Matrix &B , const Operator <'-'> &Op)
Computational constructor for matrix subtraction.
constexpr Matrix (const FixedArray < AType, R *C > &l, const FixedArray < BType, R *C > &r, const Operator < CompType > &Op)
Generic computational constructor for two arrays of size compatible with the matrix.
constexpr Matrix (const FixedArray < Type, R *C > &Data )
Explicit constructor from arbitrary compatible type.
constexpr Matrix (const FixedArray < ValueType, R > &l, const Operator < CompType > &Op, const value &scalar)
Generic computational constructor for vector/scalar operations.
constexpr Matrix (const Operator < CompType > &Op, const value &scalar, const FixedArray < ValueType, R > &l)
Generic computational constructor for scalar/vector operations.
constexpr Matrix (const Matrix &A , const Operator <'-'> &Op)
Computational constructor for unary minus.
constexpr Matrix (const Matrix < R, M, ValueA > &A , const Matrix < M, C, ValueB > &B , const Operator <' *'> &)
Matrix multiplication .
constexpr Matrix (const Matrix < R, M, ValueA > &A , const Matrix < C, M, ValueB > &B , const Operator <' *','~'> &)
Transposed matrix multiplication .
constexpr Matrix (const Matrix < R, M, value > &A , const Matrix < C, M, value > &B , const Mult &, const TransposeOperation &)
Matrix multiplication with transpose of matrix B .
constexpr Matrix (const Matrix < M, R, value > &A , const Matrix < M, C, value > &B , const TransposeOperation &, const Mult &)
Matrix multiplication with transpose of matrix A .
constexpr Matrix (const Matrix < R, C, value > &A , const LowerTriangular < C, value > &B , const Mult &)
Matrix multiplication where B is a symmetric matrix stored in lower triangular form.
constexpr Matrix (const Matrix < C, R, value > &A , const LowerTriangular < C, value > &B , const TransposeOperation &, const Mult &)
Matrix multiplication where B is a symmetric matrix stored in lower triangular form.
constexpr const Column < R, value > & column (int i) const
Return the ith column of this matrix.
constexpr Column < R, value > & column (int i)
Return the ith column of this matrix, writeable.
constexpr value & operator() (dimension_t row, dimension_t column)
Access element for writing.
constexpr const value & operator() (dimension_t row, dimension_t column) const
Element access operation for reading.
constexpr Row_t row (dimension_t rowNr)
Return writable reference to the ith row of this matrix.
constexpr const Row_t row (dimension_t rowNr) const
Return read-only reference to the ith row of this matrix.
constexpr const auto operator[] (dimension_t r) const
Allow nested access to matrix elements via bracket operator.
constexpr auto & operator[] (dimension_t r)
Allow nested access to matrix elements via bracket operator.
Base_t & fixed_array ()
Provide access to the base class, writable.
const Base_t & fixed_array () const
Provide access to the base class, read-only.
Vector & operator*= (const T &value)
Self-multiplication.
Vector & operator+= (const Vector &v)
Self-addition.
Vector operator- () const
Unary minus.
Vector & operator-= (const Vector &v)
Self-subtraction.
Vector & operator/= (const T &value)
Self-division.
template<class scalar >
Assignment < Vector , 0 > operator= (const scalar &x)
Assign first element with scalar and use consecutive comma expressions for assignment of further elements As such a Vector may be assigned as.
Vector & operator= (const Vector &src)
Assignment operator.
template<class V >
void set (const V &value)
Assign all values to the same scalar.
constexpr Vector ()
Default constructor.
template<class AType , class BType , int CompType>
Vector (const FixedArray < AType, n > &l, const FixedArray < BType, n > &r, const Operator < CompType > &Op)
Computational constructor for binary operations on two fixed arrays, calls the Operator 's ternary() member function for each element.
template<class AType , class ScalarType , int CompType>
Vector (const FixedArray < AType, n > &l, const Operator < CompType > &, const ScalarType &scalar)
Computational constructor from vector with scalar, calls the Operator 's ternary() member function for each element and the scalar as its 3rd argument.
template<typename InputType >
Vector (const FixedArray < InputType, SIZE > &V)
Type conversion constructor.
template<typename Indicable >
Vector (const Indicable &I, const AnyType &)
Construct from indicable object, i.e.
template<class AType , class ScalarType , int CompType>
Vector (const Operator < CompType > &, const ScalarType &scalar, const FixedArray < AType, n > &v)
Computational constructor from scalar with vector calls the Operator 's ternary() member function for each element and the scalar as its 2nd argument.
template<typename InputType >
constexpr Vector (const std::initializer_list< InputType > &Init)
Construct from a initialization array.
Vector (const T &a)
Convenience Constructor: initialize the first element.
Vector (const T &a, const T &b)
Convenience Constructor: initialize the first two elements.
Vector (const T &a, const T &b, const T &c)
Convenience Constructor: initialize the first three elements.
Vector (const T &a, const T &b, const T &c, const T &d)
Convenience Constructor: initialize the first four elements.
template<int CompType>
Vector (const Vector &l, const Vector &r, const Operator < CompType > &)
Computational constructor for binary operations on two vectors calls the Operator 's ternary() member function for each element.
Vector (const Vector &NV, const Sub &, const Sub &)
Computational constructor for unary minus.
constexpr Vector (const Vector &v)
Copy constructor.
Vector (const Vector &v, const Operator <'-'> &)
Unitary minus computational constructor Applies the unitary minus to each element.
template<typename InputType >
Vector (const Vector < InputType, SIZE > &V)
Type conversion constructor.
void expandMinMax (FixedArray &MinValues, FixedArray &MaxValues) const
Expand a range given by MinValues,MaxValues to include the values of this array, done per component.
constexpr FixedArray () noexcept
Default constructor.
constexpr FixedArray (const FixedArray < AType, N > &l, const FixedArray < BType, N > &r, const Operator < CompType > &)
Computational constructor for binary operations on two fixed arrays, calls the Operator 's ternary() member function for each element.
constexpr FixedArray (const FixedArray < T, M > &F, const T &DefaultValue)
Construct array from another array type of variable length.
constexpr FixedArray (const FixedArray < T, N > &F)
Automatic type conversion function.
constexpr FixedArray (const FixedArray < T, N > &F, const ConversionFunctor &CF, const FA_CONVERT &)
Construct array from another array type of same length.
constexpr FixedArray (const std::initializer_list< InitType > &Init)
Construct from a initialization array.
constexpr FixedArray (const T &a)
Convenience Constructor: initialize the first element.
constexpr FixedArray (const T &a, const T &b)
Convenience Constructor: initialize the first two elements.
FixedArray (const T &a, const T &b, const T &c)
Convenience Constructor: initialize the first three elements.
constexpr FixedArray (const T &a, const T &b, const T &c, const T &d)
Convenience Constructor: initialize the first four elements.
constexpr FixedArray (const T &a, const T &b, const T &c, const T &d, const T &e)
Convenience Constructor: initialize the first five elements.
constexpr T & get (int i)
writable element access
constexpr const T & get (int i) const
read-only element access
constexpr const FixedArray < T, subsize > * get_subarray () const
Helper class for retrieve a subset of the current array.
constexpr const FixedArray < T, SIZE-1 > & get_subdim () const
Mainly introduced because of Interpolate::operator[].
const FixedArray_t & getFixedArray () const noexcept
convenience function for base classes
FixedArray_t & getFixedArray () noexcept
convenience function for base classes
constexpr T getMax () const
Compute the maximum element value of this array.
constexpr T getMin () const
Compute the maximum element value of this array.
constexpr bool operator!= (const FixedArray < T, N > &F) const
Compare two arrays.
constexpr bool operator== (const FixedArray < T, N > &F) const
Compare two arrays.
constexpr T & operator[] (int i)
writeable element access operator
constexpr const T & operator[] (int i) const
read-only element access operator
constexpr T * ptr (int i=0) noexcept
Return a pointer to the ith element, no range checking.
constexpr void set (const Value &x)
Set all array elements to the same value.
void setFromArray (const T *x, int length=SIZE, int offset=0)
Set all array elements to an array's element value.
void sort (FixedArray < int, N > &I) const
Sort the elements of an array into the index array.