Mathter
A configurable 3D math library for game developers.
Classes | Namespaces | Functions
Approx.hpp File Reference
#include "../IoStream.hpp"
#include "../Matrix.hpp"
#include "../Vector.hpp"
#include <type_traits>

Go to the source code of this file.

Classes

struct  mathter::ApproxHelper< LinalgClass >
 

Namespaces

 mathter
 

Functions

template<class T >
bool mathter::AlmostEqual (T d1, T d2, std::true_type)
 
template<class T >
bool mathter::AlmostEqual (T d1, T d2, std::false_type)
 
template<class T , class = std::enable_if_t<traits::NotVector<T>::value && traits::NotMatrix<T>::value && traits::NotQuaternion<T>::value>>
bool mathter::AlmostEqual (T d1, T d2)
 
template<class T , int Dim, bool Packed1, bool Packed2>
bool mathter::AlmostEqual (const Vector< T, Dim, Packed1 > &lhs, const Vector< T, Dim, Packed2 > &rhs)
 
template<class T , bool Packed1, bool Packed2>
bool mathter::AlmostEqual (const Quaternion< T, Packed1 > &lhs, const Quaternion< T, Packed2 > &rhs)
 
template<class T , int Rows, int Columns, eMatrixOrder Order1, eMatrixLayout Layout1, bool Packed1, eMatrixOrder Order2, eMatrixLayout Layout2, bool Packed2>
bool mathter::AlmostEqual (const Matrix< T, Rows, Columns, Order1, Layout1, Packed1 > &lhs, const Matrix< T, Rows, Columns, Order2, Layout2, Packed2 > &rhs)
 
template<class LinalgClass1 , class LinalgClass2 >
bool mathter::operator== (const ApproxHelper< LinalgClass1 > &lhs, const LinalgClass2 &rhs)
 
template<class LinalgClass1 , class LinalgClass2 >
bool mathter::operator== (const LinalgClass1 &lhs, const ApproxHelper< LinalgClass2 > &rhs)
 
template<class LinalgClass1 , class LinalgClass2 >
bool mathter::operator== (const ApproxHelper< LinalgClass1 > &lhs, const ApproxHelper< LinalgClass2 > &rhs)
 
template<class LinalgClass >
std::ostream & mathter::operator<< (std::ostream &os, const ApproxHelper< LinalgClass > &arg)
 
template<class LinalgClass >
ApproxHelper< LinalgClass > mathter::ApproxVec (const LinalgClass &arg)