Lugdunum  0.1.0
Classes | Namespaces | Macros | Functions
Matrix.hpp File Reference
#include <cstdint>
#include <valarray>
#include <lug/Math/Export.hpp>
#include <lug/Math/ValArray.hpp>
#include <lug/System/Debug.hpp>
#include <lug/Math/Matrix.inl>
Include dependency graph for Matrix.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  lug::Math::Matrix< Rows, Columns, T >
 

Namespaces

 lug
 
 lug::Math
 

Macros

#define DEFINE_LENGTH_MATRIX(rows, columns)
 

Functions

template<uint8_t Rows, uint8_t Columns, typename T >
Matrix< Rows, Columns, T > lug::Math::operator- (const Matrix< Rows, Columns, T > &lhs)
 
template<uint8_t Rows, uint8_t Columns, typename T >
Matrix< Rows, Columns, T > lug::Math::operator+ (const Matrix< Rows, Columns, T > &lhs, T rhs)
 
template<uint8_t Rows, uint8_t Columns, typename T >
Matrix< Rows, Columns, T > lug::Math::operator- (const Matrix< Rows, Columns, T > &lhs, T rhs)
 
template<uint8_t Rows, uint8_t Columns, typename T >
Matrix< Rows, Columns, T > lug::Math::operator* (const Matrix< Rows, Columns, T > &lhs, T rhs)
 
template<uint8_t Rows, uint8_t Columns, typename T >
Matrix< Rows, Columns, T > lug::Math::operator/ (const Matrix< Rows, Columns, T > &lhs, T rhs)
 
template<uint8_t Rows, uint8_t Columns, typename T >
Matrix< Rows, Columns, T > lug::Math::operator+ (T lhs, const Matrix< Rows, Columns, T > &rhs)
 
template<uint8_t Rows, uint8_t Columns, typename T >
Matrix< Rows, Columns, T > lug::Math::operator- (T lhs, const Matrix< Rows, Columns, T > &rhs)
 
template<uint8_t Rows, uint8_t Columns, typename T >
Matrix< Rows, Columns, T > lug::Math::operator* (T lhs, const Matrix< Rows, Columns, T > &rhs)
 
template<uint8_t Rows, uint8_t Columns, typename T >
Matrix< Rows, Columns, T > lug::Math::operator/ (T lhs, const Matrix< Rows, Columns, T > &rhs)
 
template<uint8_t Rows, uint8_t Columns, typename T >
Matrix< Rows, Columns, T > lug::Math::operator+ (const Matrix< Rows, Columns, T > &lhs, const Matrix< Rows, Columns, T > &rhs)
 
template<uint8_t Rows, uint8_t Columns, typename T >
Matrix< Rows, Columns, T > lug::Math::operator- (const Matrix< Rows, Columns, T > &lhs, const Matrix< Rows, Columns, T > &rhs)
 
template<uint8_t RowsLeft, uint8_t ColumnsLeft, uint8_t RowsRight, uint8_t ColumnsRight, typename T >
Matrix< RowsLeft, ColumnsRight, T > lug::Math::operator* (const Matrix< RowsLeft, ColumnsLeft, T > &lhs, const Matrix< RowsRight, ColumnsRight, T > &rhs)
 
template<uint8_t RowsLeft, uint8_t ColumnsLeft, uint8_t RowsRight, uint8_t ColumnsRight, typename T >
Matrix< RowsLeft, ColumnsRight, T > lug::Math::operator/ (const Matrix< RowsLeft, ColumnsLeft, T > &lhs, const Matrix< RowsRight, ColumnsRight, T > &rhs)
 
template<uint8_t Rows, uint8_t Columns, typename T >
bool lug::Math::operator== (const Matrix< Rows, Columns, T > &lhs, const Matrix< Rows, Columns, T > &rhs)
 
template<uint8_t Rows, uint8_t Columns, typename T >
bool lug::Math::operator!= (const Matrix< Rows, Columns, T > &lhs, const Matrix< Rows, Columns, T > &rhs)
 
template<uint8_t Rows, uint8_t Columns, typename T >
std::ostream & lug::Math::operator<< (std::ostream &os, const Matrix< Rows, Columns, T > &matrix)
 

Macro Definition Documentation

◆ DEFINE_LENGTH_MATRIX

#define DEFINE_LENGTH_MATRIX (   rows,
  columns 
)
Value:
template <typename T = float> \
using Mat##rows##x##columns= Matrix<rows, columns, T>; \
\
template class LUG_MATH_API Matrix<rows, columns, float>; \
using Mat##rows##x##columns##f = Mat##rows##x##columns<float>; \
\
template class LUG_MATH_API Matrix<rows, columns, double>; \
using Mat##rows##x##columns##d = Mat##rows##x##columns<double>; \
\
template class LUG_MATH_API Matrix<rows, columns, int32_t>; \
using Mat##rows##x##columns##i = Mat##rows##x##columns<int32_t>; \
\
template class LUG_MATH_API Matrix<rows, columns, uint32_t>; \
using Mat##rows##x##columns##u = Mat##rows##x##columns<uint32_t>;
#define LUG_MATH_API
Definition: Export.hpp:11

Definition at line 153 of file Matrix.hpp.