Lugdunum
0.1.0
|
#include <Matrix.hpp>
Public Types | |
using | Values = ValArray< Rows *Columns, T > |
Public Member Functions | |
constexpr | Matrix ()=default |
Matrix (T value) | |
Matrix (const Values &values) | |
Matrix (std::initializer_list< T > list) | |
Matrix (const Matrix< Rows, Columns, T > &matrix)=default | |
Matrix (Matrix< Rows, Columns, T > &&matrix)=default | |
Matrix< Rows, Columns, T > & | operator= (const Matrix< Rows, Columns, T > &rhs)=default |
Matrix< Rows, Columns, T > & | operator= (Matrix< Rows, Columns, T > &&rhs)=default |
~Matrix ()=default | |
constexpr uint8_t | getRows () const |
constexpr uint8_t | getColumns () const |
Values & | getValues () |
constexpr const Values & | getValues () const |
T & | operator() (uint8_t row, uint8_t col=0) |
constexpr const T & | operator() (uint8_t row, uint8_t col=0) const |
Matrix< Rows, Columns, T > & | operator+= (T rhs) |
Matrix< Rows, Columns, T > & | operator-= (T rhs) |
Matrix< Rows, Columns, T > & | operator*= (T rhs) |
Matrix< Rows, Columns, T > & | operator/= (T rhs) |
Matrix< Rows, Columns, T > & | operator+= (const Matrix< Rows, Columns, T > &rhs) |
Matrix< Rows, Columns, T > & | operator-= (const Matrix< Rows, Columns, T > &rhs) |
template<bool EnableBool = true> | |
std::enable_if<(Rows==Columns) &&EnableBool, Matrix< Rows, Columns, T > >::type & | operator*= (const Matrix< Rows, Columns, T > &rhs) |
template<bool EnableBool = true> | |
std::enable_if<(Rows==Columns) &&EnableBool, Matrix< Rows, Columns, T > >::type & | operator/= (const Matrix< Rows, Columns, T > &rhs) |
template<bool EnableBool = true> | |
std::enable_if<(Rows==1) &&EnableBool, Matrix< Rows, Columns, T > >::type | inverse () const |
template<bool EnableBool = true> | |
std::enable_if<(Rows==2) &&EnableBool, Matrix< Rows, Columns, T > >::type | inverse () const |
template<bool EnableBool = true> | |
std::enable_if<(Rows==3) &&EnableBool, Matrix< Rows, Columns, T > >::type | inverse () const |
template<bool EnableBool = true> | |
std::enable_if<(Rows==4) &&EnableBool, Matrix< Rows, Columns, T > >::type | inverse () const |
Matrix< Columns, Rows, T > | transpose () const |
template<bool EnableBool = true> | |
std::enable_if<(Rows==1) &&EnableBool, T >::type | det () const |
template<bool EnableBool = true> | |
std::enable_if<(Rows==2) &&EnableBool, T >::type | det () const |
template<bool EnableBool = true> | |
std::enable_if<(Rows==3) &&EnableBool, T >::type | det () const |
template<bool EnableBool = true> | |
std::enable_if<(Rows==4) &&EnableBool, T >::type | det () const |
template<bool EnableBool = true> | |
std::enable_if<(Rows > 4) &&EnableBool, T >::type | det () const |
template<bool EnableBool> | |
std::enable_if<(Rows==Columns) &&EnableBool, Matrix< Rows, Columns, T > >::type & | operator*= (const Matrix< Rows, Columns, T > &rhs) |
template<bool EnableBool> | |
std::enable_if<(Rows==Columns) &&EnableBool, Matrix< Rows, Columns, T > >::type & | operator/= (const Matrix< Rows, Columns, T > &rhs) |
template<bool EnableBool> | |
std::enable_if<(Rows==1) &&EnableBool, Matrix< Rows, Columns, T > >::type | inverse () const |
template<bool EnableBool> | |
std::enable_if<(Rows==2) &&EnableBool, Matrix< Rows, Columns, T > >::type | inverse () const |
template<bool EnableBool> | |
std::enable_if<(Rows==3) &&EnableBool, Matrix< Rows, Columns, T > >::type | inverse () const |
template<bool EnableBool> | |
std::enable_if<(Rows==4) &&EnableBool, Matrix< Rows, Columns, T > >::type | inverse () const |
template<bool EnableBool> | |
std::enable_if<(Rows==1) &&EnableBool, T >::type | det () const |
template<bool EnableBool> | |
std::enable_if<(Rows==2) &&EnableBool, T >::type | det () const |
template<bool EnableBool> | |
std::enable_if<(Rows==3) &&EnableBool, T >::type | det () const |
template<bool EnableBool> | |
std::enable_if<(Rows==4) &&EnableBool, T >::type | det () const |
template<bool EnableBool> | |
std::enable_if<(Rows > 4) &&EnableBool, T >::type | det () const |
template<bool EnableBool> | |
std::enable_if<(Rows==Columns) &&EnableBool, Matrix< Rows, Columns, T > >::type | identity () |
Static Public Member Functions | |
template<bool EnableBool = true> | |
static std::enable_if<(Rows==Columns) &&EnableBool, Matrix< Rows, Columns, T > >::type | identity () |
Protected Attributes | |
Values | _values |
Definition at line 13 of file Matrix.hpp.
using lug::Math::Matrix< Rows, Columns, T >::Values = ValArray<Rows * Columns, T> |
Definition at line 16 of file Matrix.hpp.
|
default |
|
inlineexplicit |
Definition at line 2 of file Matrix.inl.
|
inline |
Definition at line 13 of file Matrix.inl.
|
inline |
Definition at line 18 of file Matrix.inl.
|
default |
|
default |
|
default |
|
default |
|
default |
|
inline |
Definition at line 32 of file Matrix.inl.
|
inline |
Definition at line 37 of file Matrix.inl.
|
inline |
Definition at line 42 of file Matrix.inl.
|
inline |
Definition at line 47 of file Matrix.inl.
T& lug::Math::Matrix< Rows, Columns, T >::operator() | ( | uint8_t | row, |
uint8_t | col = 0 |
||
) |
constexpr const T& lug::Math::Matrix< Rows, Columns, T >::operator() | ( | uint8_t | row, |
uint8_t | col = 0 |
||
) | const |
|
inline |
Definition at line 64 of file Matrix.inl.
|
inline |
Definition at line 70 of file Matrix.inl.
|
inline |
Definition at line 76 of file Matrix.inl.
|
inline |
Definition at line 82 of file Matrix.inl.
Matrix< Rows, Columns, T > & Matrix::operator+= | ( | const Matrix< Rows, Columns, T > & | rhs | ) |
Definition at line 90 of file Matrix.inl.
Matrix< Rows, Columns, T > & Matrix::operator-= | ( | const Matrix< Rows, Columns, T > & | rhs | ) |
Definition at line 96 of file Matrix.inl.
std::enable_if<(Rows == Columns) && EnableBool, Matrix<Rows, Columns, T> >::type& lug::Math::Matrix< Rows, Columns, T >::operator*= | ( | const Matrix< Rows, Columns, T > & | rhs | ) |
std::enable_if<(Rows == Columns) && EnableBool, Matrix<Rows, Columns, T> >::type& lug::Math::Matrix< Rows, Columns, T >::operator/= | ( | const Matrix< Rows, Columns, T > & | rhs | ) |
std::enable_if<(Rows == 1) && EnableBool, Matrix<Rows, Columns, T> >::type lug::Math::Matrix< Rows, Columns, T >::inverse | ( | ) | const |
std::enable_if<(Rows == 2) && EnableBool, Matrix<Rows, Columns, T> >::type lug::Math::Matrix< Rows, Columns, T >::inverse | ( | ) | const |
std::enable_if<(Rows == 3) && EnableBool, Matrix<Rows, Columns, T> >::type lug::Math::Matrix< Rows, Columns, T >::inverse | ( | ) | const |
std::enable_if<(Rows == 4) && EnableBool, Matrix<Rows, Columns, T> >::type lug::Math::Matrix< Rows, Columns, T >::inverse | ( | ) | const |
|
inline |
Definition at line 331 of file Matrix.inl.
std::enable_if<(Rows == 1) && EnableBool, T>::type lug::Math::Matrix< Rows, Columns, T >::det | ( | ) | const |
std::enable_if<(Rows == 2) && EnableBool, T>::type lug::Math::Matrix< Rows, Columns, T >::det | ( | ) | const |
std::enable_if<(Rows == 3) && EnableBool, T>::type lug::Math::Matrix< Rows, Columns, T >::det | ( | ) | const |
std::enable_if<(Rows == 4) && EnableBool, T>::type lug::Math::Matrix< Rows, Columns, T >::det | ( | ) | const |
std::enable_if<(Rows > 4) && EnableBool, T>::type lug::Math::Matrix< Rows, Columns, T >::det | ( | ) | const |
|
static |
|
inline |
Definition at line 107 of file Matrix.inl.
|
inline |
Definition at line 123 of file Matrix.inl.
|
inline |
Definition at line 139 of file Matrix.inl.
|
inline |
Definition at line 152 of file Matrix.inl.
|
inline |
Definition at line 170 of file Matrix.inl.
|
inline |
Definition at line 195 of file Matrix.inl.
|
inline |
Definition at line 350 of file Matrix.inl.
|
inline |
Definition at line 363 of file Matrix.inl.
|
inline |
Definition at line 379 of file Matrix.inl.
|
inline |
Definition at line 399 of file Matrix.inl.
std::enable_if<(Rows > 4) && EnableBool, T>::type lug::Math::Matrix< Rows, Columns, T >::det | ( | ) | const |
Definition at line 444 of file Matrix.inl.
|
inline |
Definition at line 483 of file Matrix.inl.
|
protected |
Definition at line 150 of file Matrix.hpp.