Yet Another Game Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Typedefs | Functions
matrix.h File Reference


-*- c++ -*- More...

#include <algorithm>
#include <exception>
#include <sstream>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

class  yage::Matrix< Rows, Cols, Type >
 Base Matrix class used by other similar classes. More...
 
class  yage::details::Row< Rows, Cols, Type >
 
class  yage::Matrix< Rows, Cols, Type >
 Base Matrix class used by other similar classes. More...
 
class  yage::Vector< Rows, Type >
 
class  yage::Vector2< Type >
 2D Vector class. More...
 
class  yage::Vector3< Type >
 3D Vector class. More...
 
class  yage::Vector4< Type >
 4D Vector class More...
 

Namespaces

 yage
 Project namespace.
 
 yage::details
 
 yage::matrix
 Namespace containing functions that operate on matrices.
 

Typedefs

using yage::Vector2d = Vector2< double >
 Definition of a 2D vector. More...
 
using yage::Vector2f = Vector2< float >
 
using yage::Vector2i = Vector2< int >
 
using yage::Vector3d = Vector3< double >
 Definition of a 3D vector. More...
 
using yage::Vector3f = Vector3< float >
 
using yage::Vector3i = Vector3< int >
 
using yage::Vector4d = Vector4< double >
 Definition of a 4D vector. More...
 
using yage::Vector4f = Vector4< float >
 
using yage::Vector4i = Vector4< int >
 

Functions

template<int M, int N, class T >
Matrix< M, N, T > yage::operator+ (Matrix< M, N, T > lhs, const Matrix< M, N, T > &rhs)
 
template<int M, int N, class T >
Matrix< M, N, T > yage::operator- (Matrix< M, N, T > lhs, const Matrix< M, N, T > &rhs)
 
template<int M, int N, class T >
Matrix< M, N, T > yage::operator+ (Matrix< M, N, T > lhs, const T &rhs)
 
template<int M, int N, class T >
Matrix< M, N, T > yage::operator+ (const T &lhs, Matrix< M, N, T > rhs)
 
template<int M, int N, class T >
Matrix< M, N, T > yage::operator- (Matrix< M, N, T > lhs, const T &rhs)
 
template<int M, int N, class T >
Matrix< M, N, T > yage::operator- (const T &lhs, Matrix< M, N, T > rhs)
 
template<int M, int N, class T >
Matrix< M, N, T > yage::operator* (Matrix< M, N, T > lhs, const T &rhs)
 
template<int M, int N, class T >
Matrix< M, N, T > yage::operator* (const T &lhs, Matrix< M, N, T > rhs)
 
template<int M, int N, class T >
Matrix< M, N, T > yage::operator/ (Matrix< M, N, T > lhs, const T &rhs)
 
template<int M, int N, class T >
bool yage::operator== (const Matrix< M, N, T > &lhs, const Matrix< M, N, T > &rhs)
 
template<int M, int N, class T >
std::ostream & yage::operator<< (std::ostream &os, const Matrix< M, N, T > &mat)
 
template<int M, int N, class T >
Matrix< N, M, T > yage::matrix::transpose (const Matrix< M, N, T > &m)
 Transposes a matrix and returns the result. More...
 
template<int R, class T >
yage::matrix::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 > yage::matrix::multiply (const Matrix< M, N, T > &m1, const Matrix< P, Q, T > &m2)
 Multiplies two matrices together. More...
 

Detailed Description


-*- c++ -*-

Copyright (c) 2017 Yann Herklotz Grave ymher.nosp@m.klot.nosp@m.z@gma.nosp@m.il.c.nosp@m.om

MIT License, see LICENSE file for more details.