YAGE  v0.1.1
Yet Another Game Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
yage::matrix Namespace Reference

Namespace containing functions that operate on matrices. More...

Functions

template<int M, int N, class T >
Matrix< N, M, T > transpose (const Matrix< M, N, T > &m)
 Transposes a matrix and returns the result. More...
 
template<int R, class T >
dot (const Matrix< R, 1, T > &m1, const Matrix< R, 1, T > &m2)
 Returns the dot product between two vectors. More...
 
template<int M, int N, int P, int Q, class T >
Matrix< M, Q, T > multiply (const Matrix< M, N, T > &m1, const Matrix< P, Q, T > &m2)
 Multiplies two matrices together. More...
 

Detailed Description

Implementations defined here are meant to operate on anything that inherits from the base Matrix class.

Function Documentation

template<int R, class T >
T yage::matrix::dot ( const Matrix< R, 1, T > &  m1,
const Matrix< R, 1, T > &  m2 
)
Parameters
m1,m2Input matrices.
template<int M, int N, int P, int Q, class T >
Matrix<M, Q, T> yage::matrix::multiply ( const Matrix< M, N, T > &  m1,
const Matrix< P, Q, T > &  m2 
)
Parameters
m1,m2Matrix inputs

Requires the two matrices to be compatible with multiplication.

Todo:
Think if this should be a static_assert.

Performs multiplication by getting the rows and columns, transposing one of them and then doting the result.

template<int M, int N, class T >
Matrix<N, M, T> yage::matrix::transpose ( const Matrix< M, N, T > &  m)
Parameters
minput matrix.