Tuesday
|
The mat
class template and its associated functions.
Classes | |
class | tue::mat< T, C, R > |
A column-major matrix. More... | |
Typedefs | |
template<typename T > | |
using | tue::mat2x2 = mat< T, 2, 2 > |
A 2x2 matrix. More... | |
template<typename T > | |
using | tue::mat2x3 = mat< T, 2, 3 > |
A 2x3 matrix. More... | |
template<typename T > | |
using | tue::mat2x4 = mat< T, 2, 4 > |
A 2x4 matrix. More... | |
template<typename T > | |
using | tue::mat3x2 = mat< T, 3, 2 > |
A 3x2 matrix. More... | |
template<typename T > | |
using | tue::mat3x3 = mat< T, 3, 3 > |
A 3x3 matrix. More... | |
template<typename T > | |
using | tue::mat3x4 = mat< T, 3, 4 > |
A 3x4 matrix. More... | |
template<typename T > | |
using | tue::mat4x2 = mat< T, 4, 2 > |
A 4x2 matrix. More... | |
template<typename T > | |
using | tue::mat4x3 = mat< T, 4, 3 > |
A 4x3 matrix. More... | |
template<typename T > | |
using | tue::mat4x4 = mat< T, 4, 4 > |
A 4x4 matrix. More... | |
using | tue::fmat2x2 = mat2x2< float > |
A 2x2 matrix with float components. More... | |
using | tue::fmat2x3 = mat2x3< float > |
A 2x3 matrix with float components. More... | |
using | tue::fmat2x4 = mat2x4< float > |
A 2x4 matrix with float components. More... | |
using | tue::fmat3x2 = mat3x2< float > |
A 3x2 matrix with float components. More... | |
using | tue::fmat3x3 = mat3x3< float > |
A 3x3 matrix with float components. More... | |
using | tue::fmat3x4 = mat3x4< float > |
A 3x4 matrix with float components. More... | |
using | tue::fmat4x2 = mat4x2< float > |
A 4x2 matrix with float components. More... | |
using | tue::fmat4x3 = mat4x3< float > |
A 4x3 matrix with float components. More... | |
using | tue::fmat4x4 = mat4x4< float > |
A 4x4 matrix with float components. More... | |
using | tue::dmat2x2 = mat2x2< double > |
A 2x2 matrix with double components. More... | |
using | tue::dmat2x3 = mat2x3< double > |
A 2x3 matrix with double components. More... | |
using | tue::dmat2x4 = mat2x4< double > |
A 2x4 matrix with double components. More... | |
using | tue::dmat3x2 = mat3x2< double > |
A 3x2 matrix with double components. More... | |
using | tue::dmat3x3 = mat3x3< double > |
A 3x3 matrix with double components. More... | |
using | tue::dmat3x4 = mat3x4< double > |
A 3x4 matrix with double components. More... | |
using | tue::dmat4x2 = mat4x2< double > |
A 4x2 matrix with double components. More... | |
using | tue::dmat4x3 = mat4x3< double > |
A 4x3 matrix with double components. More... | |
using | tue::dmat4x4 = mat4x4< double > |
A 4x4 matrix with double components. More... | |
Functions | |
template<typename T , int C, int R> | |
constexpr mat< decltype(+std::declval< T >)), C, R > | tue::operator+ (const mat< T, C, R > &m) noexcept |
Computes the unary plus of each component of m . More... | |
template<typename T , int C, int R> | |
constexpr mat< decltype(-std::declval< T >)), C, R > | tue::operator- (const mat< T, C, R > &m) noexcept |
Computes the unary minus of each component of m . More... | |
template<typename T , int C, int R> | |
constexpr mat< decltype(~std::declval< T >)), C, R > | tue::operator~ (const mat< T, C, R > &m) noexcept |
Computes the bitwise NOT of each component of m . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< T >::value, mat< decltype(std::declval< T >)+std::declval< U >)), C, R > > | tue::operator+ (const T &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the sums of lhs and each component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< U >::value, mat< decltype(std::declval< T >)+std::declval< U >)), C, R > > | tue::operator+ (const mat< T, C, R > &lhs, const U &rhs) noexcept |
Computes the sums of each component of lhs and rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr mat< decltype(std::declval< T >)+std::declval< U >)), C, R > | tue::operator+ (const mat< T, C, R > &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the sums of each component of lhs and each corresponding component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< T >::value, mat< decltype(std::declval< T >)-std::declval< U >)), C, R > > | tue::operator- (const T &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the differences between lhs and each component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< U >::value, mat< decltype(std::declval< T >)-std::declval< U >)), C, R > > | tue::operator- (const mat< T, C, R > &lhs, const U &rhs) noexcept |
Computes the differences between each component of lhs and rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr mat< decltype(std::declval< T >)-std::declval< U >)), C, R > | tue::operator- (const mat< T, C, R > &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the differences between each component of lhs and each corresponding component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< T >::value, mat< decltype(std::declval< T >)*std::declval< U >)), C, R > > | tue::operator* (const T &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the products of lhs and each component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< U >::value, mat< decltype(std::declval< T >)*std::declval< U >)), C, R > > | tue::operator* (const mat< T, C, R > &lhs, const U &rhs) noexcept |
Computes the products of each component of lhs and rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr vec< decltype(std::declval< T >)*std::declval< U >)), C > | tue::operator* (const vec< T, R > &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the matrix product of lhs and rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr vec< decltype(std::declval< T >)*std::declval< U >)), R > | tue::operator* (const mat< T, C, R > &lhs, const vec< U, C > &rhs) noexcept |
Computes the matrix product of lhs and rhs . More... | |
template<typename T , typename U , int C, int N, int R> | |
constexpr mat< decltype(std::declval< T >)*std::declval< U >)), C, R > | tue::operator* (const mat< T, N, R > &lhs, const mat< U, C, N > &rhs) noexcept |
Computes the matrix product of lhs and rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< T >::value, mat< decltype(std::declval< T >)/std::declval< U >)), C, R > > | tue::operator/ (const T &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the quotients of lhs over each component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< U >::value, mat< decltype(std::declval< T >)/std::declval< U >)), C, R > > | tue::operator/ (const mat< T, C, R > &lhs, const U &rhs) noexcept |
Computes the quotients of each component of lhs over rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr mat< decltype(std::declval< T >)/std::declval< U >)), C, R > | tue::operator/ (const mat< T, C, R > &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the quotients of each component of lhs over each corresponding component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< T >::value, mat< decltype(std::declval< T >)%std::declval< U >)), C, R > > | tue::operator% (const T &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the modulos of lhs over each component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< U >::value, mat< decltype(std::declval< T >)%std::declval< U >)), C, R > > | tue::operator% (const mat< T, C, R > &lhs, const U &rhs) noexcept |
Computes the modulos of each component of lhs over rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr mat< decltype(std::declval< T >)%std::declval< U >)), C, R > | tue::operator% (const mat< T, C, R > &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the modulos of each component of lhs over each corresponding component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< T >::value, mat< decltype(std::declval< T >)&std::declval< U >)), C, R > > | tue::operator& (const T &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the bitwise AND of lhs and each component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< U >::value, mat< decltype(std::declval< T >)&std::declval< U >)), C, R > > | tue::operator& (const mat< T, C, R > &lhs, const U &rhs) noexcept |
Computes the bitwise AND of each component of lhs and rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr mat< decltype(std::declval< T >)&std::declval< U >)), C, R > | tue::operator& (const mat< T, C, R > &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the bitwise AND of each component of lhs and each corresponding component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< T >::value, mat< decltype(std::declval< T >)|std::declval< U >)), C, R > > | tue::operator| (const T &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the bitwise OR of lhs and each component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< U >::value, mat< decltype(std::declval< T >)|std::declval< U >)), C, R > > | tue::operator| (const mat< T, C, R > &lhs, const U &rhs) noexcept |
Computes the bitwise OR of each component of lhs and rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr mat< decltype(std::declval< T >)|std::declval< U >)), C, R > | tue::operator| (const mat< T, C, R > &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the bitwise OR of each component of lhs and each corresponding component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< T >::value, mat< decltype(std::declval< T >)^std::declval< U >)), C, R > > | tue::operator^ (const T &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the bitwise XOR of lhs and each component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< U >::value, mat< decltype(std::declval< T >)^std::declval< U >)), C, R > > | tue::operator^ (const mat< T, C, R > &lhs, const U &rhs) noexcept |
Computes the bitwise XOR of each component of lhs and rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr mat< decltype(std::declval< T >)^std::declval< U >)), C, R > | tue::operator^ (const mat< T, C, R > &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the bitwise XOR of each component of lhs and each corresponding component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< T >::value, mat< decltype(std::declval< T >) shift_left std::declval< U >)), C, R > > | tue::operator<< (const T &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the bitwise shifts left of lhs by each component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< U >::value, mat< decltype(std::declval< T >) shift_left std::declval< U >)), C, R > > | tue::operator<< (const mat< T, C, R > &lhs, const U &rhs) noexcept |
Computes the bitwise shifts left of each component of lhs by rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr mat< decltype(std::declval< T >) shift_left std::declval< U >)), C, R > | tue::operator<< (const mat< T, C, R > &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the bitwise shifts left of each component of lhs by each corresponding component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< T >::value, mat< decltype(std::declval< T >) shift_right std::declval< U >)), C, R > > | tue::operator>> (const T &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the bitwise shifts right of lhs by each component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr std::enable_if_t< is_vec_component< U >::value, mat< decltype(std::declval< T >) shift_right std::declval< U >)), C, R > > | tue::operator>> (const mat< T, C, R > &lhs, const U &rhs) noexcept |
Computes the bitwise shifts right of each component of lhs by rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr mat< decltype(std::declval< T >) shift_right std::declval< U >)), C, R > | tue::operator>> (const mat< T, C, R > &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the bitwise shifts right of each component of lhs by each corresponding component of rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr bool | tue::operator== (const mat< T, C, R > &lhs, const mat< U, C, R > &rhs) noexcept |
Determines whether or not two mat 's compare equal. More... | |
template<typename T , typename U , int C, int R> | |
constexpr bool | tue::operator!= (const mat< T, C, R > &lhs, const mat< U, C, R > &rhs) noexcept |
Determines whether or not two mat 's compare not equal. More... | |
template<typename T , int C, int R> | |
mat< T, C, R > | tue::math::sin (const mat< T, C, R > &m) noexcept |
Computes tue::math::sin() for each component of m . More... | |
template<typename T , int C, int R> | |
mat< T, C, R > | tue::math::cos (const mat< T, C, R > &m) noexcept |
Computes tue::math::cos() for each component of m . More... | |
template<typename T , int C, int R> | |
void | tue::math::sincos (const mat< T, C, R > &m, mat< T, C, R > &sin_out, mat< T, C, R > &cos_out) noexcept |
Computes tue::math::sincos() for each component of m . More... | |
template<typename T , int C, int R> | |
mat< T, C, R > | tue::math::exp (const mat< T, C, R > &m) noexcept |
Computes tue::math::exp() for each component of m . More... | |
template<typename T , int C, int R> | |
mat< T, C, R > | tue::math::log (const mat< T, C, R > &m) noexcept |
Computes tue::math::log() for each component of m . More... | |
template<typename T , int C, int R> | |
mat< T, C, R > | tue::math::abs (const mat< T, C, R > &m) noexcept |
Computes tue::math::abs() for each component of m . More... | |
template<typename T , int C, int R> | |
mat< T, C, R > | tue::math::pow (const mat< T, C, R > &bases, const mat< T, C, R > &exponents) noexcept |
Computes tue::math::pow() for each component of bases and each corresponding component of exponents . More... | |
template<typename T , int C, int R> | |
mat< T, C, R > | tue::math::recip (const mat< T, C, R > &m) noexcept |
Computes tue::math::recip() for each component of m . More... | |
template<typename T , int C, int R> | |
mat< T, C, R > | tue::math::sqrt (const mat< T, C, R > &m) noexcept |
Computes tue::math::sqrt() for each component of m . More... | |
template<typename T , int C, int R> | |
mat< T, C, R > | tue::math::rsqrt (const mat< T, C, R > &m) noexcept |
Computes tue::math::rsqrt() for each component of m . More... | |
template<typename T , int C, int R> | |
mat< T, C, R > | tue::math::min (const mat< T, C, R > &m1, const mat< T, C, R > &m2) noexcept |
Computes tue::math::min() for each corresponding pair of components from m1 and m2 . More... | |
template<typename T , int C, int R> | |
mat< T, C, R > | tue::math::max (const mat< T, C, R > &m1, const mat< T, C, R > &m2) noexcept |
Computes tue::math::max() for each corresponding pair of components from m1 and m2 . More... | |
template<typename T , typename U , int C, int R> | |
mat< U, C, R > | tue::math::mask (const mat< T, C, R > &conditions, const mat< U, C, R > &values) noexcept |
Computes tue::math::mask() for each corresponding pair of components from conditions and values . More... | |
template<typename T , typename U , int C, int R> | |
mat< U, C, R > | tue::math::select (const mat< T, C, R > &conditions, const mat< U, C, R > &values, const mat< U, C, R > &otherwise) noexcept |
Computes tue::math::select() for each corresponding trio of components from conditions , values , and otherwise . More... | |
template<typename T , int C, int R> | |
mat< decltype(tue::math::less(std::declval< T >), std::declval< T >))), C, R > | tue::math::less (const mat< T, C, R > &lhs, const mat< T, C, R > &rhs) noexcept |
Computes tue::math::less() for each corresponding pair of components from lhs and rhs . More... | |
template<typename T , int C, int R> | |
mat< decltype(tue::math::less_equal(std::declval< T >), std::declval< T >))), C, R > | tue::math::less_equal (const mat< T, C, R > &lhs, const mat< T, C, R > &rhs) noexcept |
Computes tue::math::less_equal() for each corresponding pair of components from lhs and rhs . More... | |
template<typename T , int C, int R> | |
mat< decltype(tue::math::greater(std::declval< T >), std::declval< T >))), C, R > | tue::math::greater (const mat< T, C, R > &lhs, const mat< T, C, R > &rhs) noexcept |
Computes tue::math::greater() for each corresponding pair of components from lhs and rhs . More... | |
template<typename T , int C, int R> | |
mat< decltype(tue::math::greater_equal(std::declval< T >), std::declval< T >))), C, R > | tue::math::greater_equal (const mat< T, C, R > &lhs, const mat< T, C, R > &rhs) noexcept |
Computes tue::math::greater_equal() for each corresponding pair of components from lhs and rhs . More... | |
template<typename T , int C, int R> | |
mat< decltype(tue::math::equal(std::declval< T >), std::declval< T >))), C, R > | tue::math::equal (const mat< T, C, R > &lhs, const mat< T, C, R > &rhs) noexcept |
Computes tue::math::equal() for each corresponding pair of components from lhs and rhs . More... | |
template<typename T , int C, int R> | |
mat< decltype(tue::math::not_equal(std::declval< T >), std::declval< T >))), C, R > | tue::math::not_equal (const mat< T, C, R > &lhs, const mat< T, C, R > &rhs) noexcept |
Computes tue::math::not_equal() for each corresponding pair of components from lhs and rhs . More... | |
template<typename T , typename U , int C, int R> | |
constexpr mat< decltype(std::declval< T >)*std::declval< U >)), C, R > | tue::math::comp_mult (const mat< T, C, R > &lhs, const mat< U, C, R > &rhs) noexcept |
Computes the products of each component of lhs and each corresponding component of rhs . More... | |
template<typename T , int C, int R> | |
constexpr mat< T, R, C > | tue::math::transpose (const mat< T, C, R > &m) noexcept |
Computes the transpose of m . More... | |
class tue::mat |
A column-major matrix.
mat
have the same size and alignment requirements as vec<T, R>[C]
.
T | The component type. is_vec_component<T>value must be true . |
C | The column count. Must be 2 , 3 , or 4 . |
R | The row count. Must be 2 , 3 , or 4 . |
Public Types | |
using | component_type = T |
This mat type's component type. More... | |
Static Public Attributes | |
static constexpr int | column_count = C |
This mat type's column count. More... | |
static constexpr int | row_count = R |
This mat type's row count. More... | |
static constexpr int | component_count = C * R |
This mat type's component count. More... | |
Constructors, Conversions, and Factory Functions | |
mat () noexcept=default | |
Default constructs each component. More... | |
constexpr | mat (const T &x) noexcept |
Constructs each component along the main diagonal with the same value, and all other components with 0 . More... | |
constexpr | mat (const vec< T, R > &c) noexcept |
Constructs each column with the same values. More... | |
constexpr | mat (const vec< T, R > &c0, const vec< T, R > &c1) noexcept |
Constructs a mat with the given columns. More... | |
constexpr | mat (const vec< T, R > &c0, const vec< T, R > &c1, const vec< T, R > &c2) noexcept |
Constructs a mat with the given columns. More... | |
constexpr | mat (const vec< T, R > &c0, const vec< T, R > &c1, const vec< T, R > &c2, const vec< T, R > &c3) noexcept |
Constructs a mat with the given columns. More... | |
template<int MC, int MR> | |
constexpr | mat (const mat< T, MC, MR > &m) noexcept |
Explicitly casts another mat to a new size. More... | |
template<typename U > | |
constexpr | mat (const mat< U, C, R > &m) noexcept |
Explicitly casts another mat to a new component type. More... | |
template<typename U > | |
constexpr | operator mat< U, C, R > () const noexcept |
Implicitly casts this mat to a new component type. More... | |
static constexpr mat< T, C, R > | fill (const T &x) noexcept |
Returns a mat with each component constructed with the same value. More... | |
static constexpr mat< T, C, R > | identity () noexcept |
Returns a mat with the main diagonal set to 1 and all other components set to 0 . More... | |
static constexpr mat< T, C, R > | zero () noexcept |
Returns a mat with each component set to 0 . More... | |
Public Member Functions | |
template<typename I > | |
constexpr const vec< T, R > & | operator[] (const I &i) const noexcept |
Returns a reference to the column at the given index. More... | |
template<typename I > | |
vec< T, R > & | operator[] (const I &i) noexcept |
Returns a reference to the column at the given index. More... | |
const T * | data () const noexcept |
Returns a pointer to this mat 's underlying component array. More... | |
T * | data () noexcept |
Returns a pointer to this mat 's underlying component array. More... | |
const vec< T, R > * | columns () const noexcept |
Returns a pointer to this mat 's underlying column array. More... | |
vec< T, R > * | columns () noexcept |
Returns a pointer to this mat 's underlying column array. More... | |
template<typename I > | |
constexpr vec< T, R > | column (const I &i) const noexcept |
Returns a copy of the column at the given index. More... | |
template<typename I > | |
void | set_column (const I &i, const vec< T, R > &v) noexcept |
Sets the values of the column at the given index. More... | |
template<typename J > | |
constexpr vec< T, C > | row (const J &j) const noexcept |
Returns a copy of the row at the given index. More... | |
template<typename J > | |
void | set_row (const J &j, const vec< T, C > &v) noexcept |
Sets the values of the row at the given index. More... | |
mat< T, C, R > & | operator++ () noexcept |
Pre-increments each component of this mat . More... | |
mat< T, C, R > | operator++ (int) noexcept |
Post-increments each component of this mat . More... | |
mat< T, C, R > & | operator-- () noexcept |
Pre-decrements each component of this mat . More... | |
mat< T, C, R > | operator-- (int) noexcept |
Post-decrements each component of this mat . More... | |
template<typename U > | |
std::enable_if_t< is_vec_component< U >::value, mat< T, C, R > & > | operator+= (const U &x) noexcept |
Adds x to each component of this mat . More... | |
template<typename U > | |
mat< T, C, R > & | operator+= (const mat< U, C, R > &m) noexcept |
Adds each component of m to the corresponding component of this mat . More... | |
template<typename U > | |
std::enable_if_t< is_vec_component< U >::value, mat< T, C, R > & > | operator-= (const U &x) noexcept |
Subtracts x from each component of this mat . More... | |
template<typename U > | |
mat< T, C, R > & | operator-= (const mat< U, C, R > &m) noexcept |
Subtracts each component of m from the corresponding component of this mat . More... | |
template<typename U > | |
std::enable_if_t< is_vec_component< U >::value, mat< T, C, R > & > | operator*= (const U &x) noexcept |
Multiplies each component of this mat by x . More... | |
template<typename U > | |
mat< T, C, R > & | operator*= (const mat< U, C, C > &m) noexcept |
Matrix multiplies this mat by m . More... | |
template<typename U > | |
std::enable_if_t< is_vec_component< U >::value, mat< T, C, R > & > | operator/= (const U &x) noexcept |
Divides each component of this mat by x . More... | |
template<typename U > | |
mat< T, C, R > & | operator/= (const mat< U, C, R > &m) noexcept |
Divides each component of this mat by the corresponding component from m . More... | |
template<typename U > | |
std::enable_if_t< is_vec_component< U >::value, mat< T, C, R > & > | operator%= (const U &x) noexcept |
Modulos each component of this mat by x . More... | |
template<typename U > | |
mat< T, C, R > & | operator%= (const mat< U, C, R > &m) noexcept |
Modulos each component of this mat by the corresponding component from m . More... | |
template<typename U > | |
std::enable_if_t< is_vec_component< U >::value, mat< T, C, R > & > | operator&= (const U &x) noexcept |
Bitwise ANDs each component of this mat with x . More... | |
template<typename U > | |
mat< T, C, R > & | operator&= (const mat< U, C, R > &m) noexcept |
Bitwise ANDs each component of this mat with the corresponding component from m . More... | |
template<typename U > | |
std::enable_if_t< is_vec_component< U >::value, mat< T, C, R > & > | operator|= (const U &x) noexcept |
Bitwise ORs each component of this mat with x . More... | |
template<typename U > | |
mat< T, C, R > & | operator|= (const mat< U, C, R > &m) noexcept |
Bitwise ORs each component of this mat with the corresponding component from m . More... | |
template<typename U > | |
std::enable_if_t< is_vec_component< U >::value, mat< T, C, R > & > | operator^= (const U &x) noexcept |
Bitwise XORs each component of this mat with x . More... | |
template<typename U > | |
mat< T, C, R > & | operator^= (const mat< U, C, R > &m) noexcept |
Bitwise XORs each component of this mat with the corresponding component from m . More... | |
template<typename U > | |
std::enable_if_t< is_vec_component< U >::value, mat< T, C, R > & > | operator<<= (const U &x) noexcept |
Bitwise shifts left each component of this mat by x . More... | |
template<typename U > | |
mat< T, C, R > & | operator<<= (const mat< U, C, R > &m) noexcept |
Bitwise shifts left each component of this mat by the corresponding component from m . More... | |
template<typename U > | |
std::enable_if_t< is_vec_component< U >::value, mat< T, C, R > & > | operator>>= (const U &x) noexcept |
Bitwise shifts right each component of this mat by x . More... | |
template<typename U > | |
mat< T, C, R > & | operator>>= (const mat< U, C, R > &m) noexcept |
Bitwise shifts right each component of this mat by the corresponding component from m . More... | |
using tue::mat< T, C, R >::component_type = T |
This mat
type's component type.
|
static |
This mat
type's column count.
|
static |
This mat
type's row count.
|
static |
This mat
type's component count.
Default constructs each component.
|
inlineexplicitnoexcept |
Constructs each component along the main diagonal with the same value, and all other components with 0
.
x | The value to construct the main diagonal with. |
|
inlineexplicitnoexcept |
Constructs each column with the same values.
c | The values to construct each column with. |
|
inlinenoexcept |
Constructs a mat
with the given columns.
This overload is only available when C
equals 2
.
c0 | The first column. |
c1 | The second column. |
|
inlinenoexcept |
Constructs a mat
with the given columns.
This overload is only available when C
equals 3
.
c0 | The first column. |
c1 | The second column. |
c2 | The third column. |
|
inlinenoexcept |
Constructs a mat
with the given columns.
This overload is only available when C
equals 4
.
c0 | The first column. |
c1 | The second column. |
c2 | The third column. |
c3 | The fourth column. |
|
inlineexplicitnoexcept |
Explicitly casts another mat
to a new size.
If the new mat
is larger than m
in either dimension, the new components without corresponding components in m
will be constructed with 1
along the main diagonal and 0
otherwise. If the new mat
is smaller in either dimension, the components from m
without corresponding components in the new mat
will be ignored.
MC | The column count of m . |
MR | The row count of m . |
m | The mat to cast from. |
|
inlineexplicitnoexcept |
Explicitly casts another mat
to a new component type.
U | The component type of m . |
m | The mat to cast from. |
|
inlinenoexcept |
Implicitly casts this mat
to a new component type.
U | The new component type. |
mat
with the new component type.
|
inlinestaticnoexcept |
Returns a mat
with each component constructed with the same value.
x | The value to construct each component with. |
mat
with each component constructed with the same value.
|
inlinestaticnoexcept |
Returns a mat
with the main diagonal set to 1
and all other components set to 0
.
mat
with the main diagonal set to 1
and all other components set to 0
.
|
inlinestaticnoexcept |
Returns a mat
with each component set to 0
.
mat
with each component set to 0
.
|
inlinenoexcept |
Returns a reference to the column at the given index.
No bounds checking is performed.
I | The index type. |
i | The index. |
|
inlinenoexcept |
Returns a reference to the column at the given index.
No bounds checking is performed.
I | The index type. |
i | The index. |
|
inlinenoexcept |
Returns a pointer to this mat
's underlying component array.
mat
's underlying component array.
|
inlinenoexcept |
Returns a pointer to this mat
's underlying component array.
mat
's underlying component array.
|
inlinenoexcept |
Returns a pointer to this mat
's underlying column array.
mat
's underlying column array. Returns a pointer to this mat
's underlying column array.
mat
's underlying column array.
|
inlinenoexcept |
Returns a copy of the column at the given index.
No bounds checking is performed.
I | The index type. |
i | The index. |
|
inlinenoexcept |
Sets the values of the column at the given index.
No bounds checking is performed.
I | The index type. |
i | The index. |
v | The new values for the column. |
|
inlinenoexcept |
Returns a copy of the row at the given index.
No bounds checking is performed.
J | The index type. |
j | The index. |
|
inlinenoexcept |
Sets the values of the row at the given index.
No bounds checking is performed.
J | The index type. |
j | The index. |
v | The new values for the row. |
Pre-increments each component of this mat
.
mat
.
|
inlinenoexcept |
Post-increments each component of this mat
.
mat
before being incremented. Pre-decrements each component of this mat
.
mat
.
|
inlinenoexcept |
Post-decrements each component of this mat
.
mat
before being decremented.
|
inlinenoexcept |
Adds x
to each component of this mat
.
U | The type of parameter x . |
x | The value to add to each component of this mat . |
mat
.
|
inlinenoexcept |
Adds each component of m
to the corresponding component of this mat
.
U | The component type of m . |
m | The values to add to each component of this mat . |
mat
.
|
inlinenoexcept |
Subtracts x
from each component of this mat
.
U | The type of parameter x . |
x | The value to subtract from each component of this mat . |
mat
.
|
inlinenoexcept |
Subtracts each component of m
from the corresponding component of this mat
.
U | The component type of m . |
m | The values to subtract from each component of this mat . |
mat
.
|
inlinenoexcept |
Multiplies each component of this mat
by x
.
U | The type of parameter x . |
x | The value to multiply each component of this mat by. |
mat
.
|
inlinenoexcept |
Matrix multiplies this mat by m
.
U | The component type of m . |
m | A mat . |
mat
.
|
inlinenoexcept |
Divides each component of this mat
by x
.
U | The type of parameter x . |
x | The value to divide each component of this mat by. |
mat
.
|
inlinenoexcept |
Divides each component of this mat
by the corresponding component from m
.
U | The component type of m . |
m | The values to divide each component of this mat by. |
mat
.
|
inlinenoexcept |
Modulos each component of this mat
by x
.
U | The type of parameter x . |
x | The value to modulo each component of this mat by. |
mat
.
|
inlinenoexcept |
Modulos each component of this mat
by the corresponding component from m
.
U | The component type of m . |
m | The values to modulo each component of this mat by. |
mat
.
|
inlinenoexcept |
Bitwise ANDs each component of this mat
with x
.
U | The type of parameter x . |
x | The value to bitwise AND each component of this mat with. |
mat
.
|
inlinenoexcept |
Bitwise ANDs each component of this mat
with the corresponding component from m
.
U | The component type of m . |
m | The values to bitwise AND each component of this mat with. |
mat
.
|
inlinenoexcept |
Bitwise ORs each component of this mat
with x
.
U | The type of parameter x . |
x | The value to bitwise OR each component of this mat with. |
mat
.
|
inlinenoexcept |
Bitwise ORs each component of this mat
with the corresponding component from m
.
U | The component type of m . |
m | The values to bitwise OR each component of this mat with. |
mat
.
|
inlinenoexcept |
Bitwise XORs each component of this mat
with x
.
U | The type of parameter x . |
x | The value to bitwise XOR each component of this mat with. |
mat
.
|
inlinenoexcept |
Bitwise XORs each component of this mat
with the corresponding component from m
.
U | The component type of m . |
m | The values to bitwise XOR each component of this mat with. |
mat
.
|
inlinenoexcept |
Bitwise shifts left each component of this mat
by x
.
U | The type of parameter x . |
x | The value to bitwise shift left each component of this mat by. |
mat
.
|
inlinenoexcept |
Bitwise shifts left each component of this mat
by the corresponding component from m
.
U | The component type of m . |
m | The values to bitwise shift left each component of this mat by. |
mat
.
|
inlinenoexcept |
Bitwise shifts right each component of this mat
by x
.
U | The type of parameter x . |
x | The value to bitwise shift right each component of this mat by. |
mat
.
|
inlinenoexcept |
Bitwise shifts right each component of this mat
by the corresponding component from m
.
U | The component type of m . |
m | The values to bitwise shift right each component of this mat by. |
mat
. using tue::mat2x2 = typedef mat<T, 2, 2> |
A 2x2 matrix.
T | The component type. |
using tue::mat2x3 = typedef mat<T, 2, 3> |
A 2x3 matrix.
T | The component type. |
using tue::mat2x4 = typedef mat<T, 2, 4> |
A 2x4 matrix.
T | The component type. |
using tue::mat3x2 = typedef mat<T, 3, 2> |
A 3x2 matrix.
T | The component type. |
using tue::mat3x3 = typedef mat<T, 3, 3> |
A 3x3 matrix.
T | The component type. |
using tue::mat3x4 = typedef mat<T, 3, 4> |
A 3x4 matrix.
T | The component type. |
using tue::mat4x2 = typedef mat<T, 4, 2> |
A 4x2 matrix.
T | The component type. |
using tue::mat4x3 = typedef mat<T, 4, 3> |
A 4x3 matrix.
T | The component type. |
using tue::mat4x4 = typedef mat<T, 4, 4> |
A 4x4 matrix.
T | The component type. |
using tue::fmat2x2 = typedef mat2x2<float> |
A 2x2 matrix with float
components.
using tue::fmat2x3 = typedef mat2x3<float> |
A 2x3 matrix with float
components.
using tue::fmat2x4 = typedef mat2x4<float> |
A 2x4 matrix with float
components.
using tue::fmat3x2 = typedef mat3x2<float> |
A 3x2 matrix with float
components.
using tue::fmat3x3 = typedef mat3x3<float> |
A 3x3 matrix with float
components.
using tue::fmat3x4 = typedef mat3x4<float> |
A 3x4 matrix with float
components.
using tue::fmat4x2 = typedef mat4x2<float> |
A 4x2 matrix with float
components.
using tue::fmat4x3 = typedef mat4x3<float> |
A 4x3 matrix with float
components.
using tue::fmat4x4 = typedef mat4x4<float> |
A 4x4 matrix with float
components.
using tue::dmat2x2 = typedef mat2x2<double> |
A 2x2 matrix with double
components.
using tue::dmat2x3 = typedef mat2x3<double> |
A 2x3 matrix with double
components.
using tue::dmat2x4 = typedef mat2x4<double> |
A 2x4 matrix with double
components.
using tue::dmat3x2 = typedef mat3x2<double> |
A 3x2 matrix with double
components.
using tue::dmat3x3 = typedef mat3x3<double> |
A 3x3 matrix with double
components.
using tue::dmat3x4 = typedef mat3x4<double> |
A 3x4 matrix with double
components.
using tue::dmat4x2 = typedef mat4x2<double> |
A 4x2 matrix with double
components.
using tue::dmat4x3 = typedef mat4x3<double> |
A 4x3 matrix with double
components.
using tue::dmat4x4 = typedef mat4x4<double> |
A 4x4 matrix with double
components.
|
inlinenoexcept |
Computes the unary plus of each component of m
.
T | The component type of m . |
C | The column count of m . |
R | The row count of m . |
m | A mat . |
m
.
|
inlinenoexcept |
Computes the unary minus of each component of m
.
T | The component type of m . |
C | The column count of m . |
R | The row count of m . |
m | A mat . |
m
.
|
inlinenoexcept |
Computes the bitwise NOT of each component of m
.
T | The component type of m . |
C | The column count of m . |
R | The row count of m . |
m | A mat . |
m
.
|
inlinenoexcept |
Computes the sums of lhs
and each component of rhs
.
T | The type of parameter lhs . |
U | The component type of rhs . |
C | The column count of rhs . |
R | The row count of rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and each component of rhs
.
|
inlinenoexcept |
Computes the sums of each component of lhs
and rhs
.
T | The component type of lhs . |
U | The type of parameter rhs . |
C | The column count of lhs . |
R | The row count of lhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and rhs
.
|
inlinenoexcept |
Computes the sums of each component of lhs
and each corresponding component of rhs
.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and each corresponding component of rhs
.
|
inlinenoexcept |
Computes the differences between lhs
and each component of rhs
.
T | The type of parameter lhs . |
U | The component type of rhs . |
C | The column count of rhs . |
R | The row count of rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and each component of rhs
.
|
inlinenoexcept |
Computes the differences between each component of lhs
and rhs
.
T | The component type of lhs . |
U | The type of parameter rhs . |
C | The column count of lhs . |
R | The row count of lhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and rhs
.
|
inlinenoexcept |
Computes the differences between each component of lhs
and each corresponding component of rhs
.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and each corresponding component of rhs
.
|
inlinenoexcept |
Computes the products of lhs
and each component of rhs
.
T | The type of parameter lhs . |
U | The component type of rhs . |
C | The column count of rhs . |
R | The row count of rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and each component of rhs
.
|
inlinenoexcept |
Computes the products of each component of lhs
and rhs
.
T | The component type of lhs . |
U | The type of parameter rhs . |
C | The column count of lhs . |
R | The row count of lhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and rhs
.
|
inlinenoexcept |
Computes the matrix product of lhs
and rhs
.
lhs
is treated like a matrix with a single row.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of rhs . |
R | The component count of lhs and row count of rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and rhs
.
|
inlinenoexcept |
Computes the matrix product of lhs
and rhs
.
rhs
is treated like a matrix with a single column.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of lhs and component count of rhs . |
R | The row count of lhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and rhs
.
|
inlinenoexcept |
Computes the matrix product of lhs
and rhs
.
To compute the component-wise product, use tue::math::comp_mult()
instead.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and rhs
.
|
inlinenoexcept |
Computes the quotients of lhs
over each component of rhs
.
T | The type of parameter lhs . |
U | The component type of rhs . |
C | The column count of rhs . |
R | The row count of rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
over each component of rhs
.
|
inlinenoexcept |
Computes the quotients of each component of lhs
over rhs
.
T | The component type of lhs . |
U | The type of parameter rhs . |
C | The column count of lhs . |
R | The row count of lhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
over rhs
.
|
inlinenoexcept |
Computes the quotients of each component of lhs
over each corresponding component of rhs
.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
over each corresponding component of rhs
.
|
inlinenoexcept |
Computes the modulos of lhs
over each component of rhs
.
T | The component type of lhs . |
U | The type of parameter rhs . |
C | The column count of rhs . |
R | The row count of rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
over each component of rhs
.
|
inlinenoexcept |
Computes the modulos of each component of lhs
over rhs
.
T | The component type of lhs . |
U | The type of parameter rhs . |
C | The column count of lhs . |
R | The row count of lhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
over rhs
.
|
inlinenoexcept |
Computes the modulos of each component of lhs
over each corresponding component of rhs
.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
over each corresponding component of rhs
.
|
inlinenoexcept |
Computes the bitwise AND of lhs
and each component of rhs
.
T | The type of parameter lhs . |
U | The component type of rhs . |
C | The column count of rhs . |
R | The row count of rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and each component of rhs
.
|
inlinenoexcept |
Computes the bitwise AND of each component of lhs
and rhs
.
T | The component type of lhs . |
U | The type of parameter rhs . |
C | The column count of lhs . |
R | The row count of lhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and rhs
.
|
inlinenoexcept |
Computes the bitwise AND of each component of lhs
and each corresponding component of rhs
.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and each corresponding component of rhs
.
|
inlinenoexcept |
Computes the bitwise OR of lhs
and each component of rhs
.
T | The type of parameter lhs . |
U | The component type of rhs . |
C | The column count of rhs . |
R | The row count of rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and each component of rhs
.
|
inlinenoexcept |
Computes the bitwise OR of each component of lhs
and rhs
.
T | The component type of lhs . |
U | The type of parameter rhs . |
C | The column count of lhs . |
R | The row count of lhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and rhs
.
|
inlinenoexcept |
Computes the bitwise OR of each component of lhs
and each corresponding component of rhs
.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and each corresponding component of rhs
.
|
inlinenoexcept |
Computes the bitwise XOR of lhs
and each component of rhs
.
T | The type of parameter lhs . |
U | The component type of rhs . |
C | The column count of rhs . |
R | The row count of rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and each component of rhs
.
|
inlinenoexcept |
Computes the bitwise XOR of each component of lhs
and rhs
.
T | The component type of lhs . |
U | The type of parameter rhs . |
C | The column count of lhs . |
R | The row count of lhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and rhs
.
|
inlinenoexcept |
Computes the bitwise XOR of each component of lhs
and each corresponding component of rhs
.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and each corresponding component of rhs
.
|
inlinenoexcept |
Computes the bitwise shifts left of lhs
by each component of rhs
.
T | The type of parameter lhs . |
U | The component type of rhs . |
C | The column count of rhs . |
R | The row count of rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
by each component of rhs
.
|
inlinenoexcept |
Computes the bitwise shifts left of each component of lhs
by rhs
.
T | The component type of lhs . |
U | The type of parameter rhs . |
C | The column count of lhs . |
R | The row count of lhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
by rhs
.
|
inlinenoexcept |
Computes the bitwise shifts left of each component of lhs
by each corresponding component of rhs
.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
by each corresponding component of rhs
.
|
inlinenoexcept |
Computes the bitwise shifts right of lhs
by each component of rhs
.
T | The type of parameter lhs . |
U | The component type of rhs . |
C | The column count of rhs . |
R | The row count of rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
by each component of rhs
.
|
inlinenoexcept |
Computes the bitwise shifts right of each component of lhs
by rhs
.
T | The component type of lhs . |
U | The type of parameter rhs . |
C | The column count of lhs . |
R | The row count of lhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
by rhs
.
|
inlinenoexcept |
Computes the bitwise shifts right of each component of lhs
by each corresponding component of rhs
.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
by each corresponding component of rhs
.
|
inlinenoexcept |
Determines whether or not two mat
's compare equal.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
true
if all the corresponding pairs of components compare equal and false
otherwise.
|
inlinenoexcept |
Determines whether or not two mat
's compare not equal.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
true
if at least one of the corresponding pairs of components compares not equal and false
otherwise.
|
inlinenoexcept |
Computes tue::math::sin()
for each component of m
.
T | The component type of m . |
C | The column count of m . |
R | The row count of m . |
m | A mat . |
tue::math::sin()
for each component of m
.
|
inlinenoexcept |
Computes tue::math::cos()
for each component of m
.
T | The component type of m . |
C | The column count of m . |
R | The row count of m . |
m | A mat . |
tue::math::cos()
for each component of m
.
|
inlinenoexcept |
Computes tue::math::sincos()
for each component of m
.
T | The component type of m . |
C | The column count of m . |
R | The row count of m . |
m | A mat . |
sin_out | A reference to the mat to store the sin() results in. |
cos_out | A reference to the mat to store the cos() results in. |
|
inlinenoexcept |
Computes tue::math::exp()
for each component of m
.
T | The component type of m . |
C | The column count of m . |
R | The row count of m . |
m | A mat . |
tue::math::exp()
for each component of m
.
|
inlinenoexcept |
Computes tue::math::log()
for each component of m
.
T | The component type of m . |
C | The column count of m . |
R | The row count of m . |
m | A mat . |
tue::math::log()
for each component of m
.
|
inlinenoexcept |
Computes tue::math::abs()
for each component of m
.
T | The component type of m . |
C | The column count of m . |
R | The row count of m . |
m | A mat . |
tue::math::abs()
for each component of m
.
|
inlinenoexcept |
Computes tue::math::pow()
for each component of bases
and each corresponding component of exponents
.
T | The component type of both bases and exponents . |
C | The column count of both bases and exponents . |
R | The row count of both bases and exponents . |
bases | The bases. |
exponents | The exponents. |
tue::math::pow()
for each component of bases
and each corresponding component of exponents
.
|
inlinenoexcept |
Computes tue::math::recip()
for each component of m
.
T | The component type of m . |
C | The column count of m . |
R | The row count of m . |
m | A mat . |
tue::math::recip()
for each component of m
.
|
inlinenoexcept |
Computes tue::math::sqrt()
for each component of m
.
T | The component type of m . |
C | The column count of m . |
R | The row count of m . |
m | A mat . |
tue::math::sqrt()
for each component of m
.
|
inlinenoexcept |
Computes tue::math::rsqrt()
for each component of m
.
T | The component type of m . |
C | The column count of m . |
R | The row count of m . |
m | A mat . |
tue::math::rsqrt()
for each component of m
.
|
inlinenoexcept |
Computes tue::math::min()
for each corresponding pair of components from m1
and m2
.
T | The component type of both m1 and m2 . |
C | The column count of both m1 and m2 . |
R | The row count of both m1 and m2 . |
m1 | A mat . |
m2 | Another mat . |
tue::math::min()
for each corresponding pair of components from m1
and m2
.
|
inlinenoexcept |
Computes tue::math::max()
for each corresponding pair of components from m1
and m2
.
T | The component type of both m1 and m2 . |
C | The column count of both m1 and m2 . |
R | The row count of both m1 and m2 . |
m1 | A mat . |
m2 | Another mat . |
tue::math::max()
for each corresponding pair of components from m1
and m2
.
|
inlinenoexcept |
Computes tue::math::mask()
for each corresponding pair of components from conditions
and values
.
T | The component type of conditions . |
U | The component type of values . |
C | The column count of both conditions and values . |
R | The row count of both conditions and values . |
conditions | A mat . |
values | Another mat . |
tue::math::mask()
for each corresponding pair of components from conditions
and values
.
|
inlinenoexcept |
Computes tue::math::select()
for each corresponding trio of components from conditions
, values
, and otherwise
.
T | The component type of conditions . |
U | The component type of both values and otherwise . |
C | The column count of all three parameters. |
R | The row count of all three parameters. |
conditions | A mat . |
values | Another mat . |
otherwise | Another mat . |
tue::math::select()
for each corresponding trio of components from conditions
, values
, and otherwise
.
|
inlinenoexcept |
Computes tue::math::less()
for each corresponding pair of components from lhs
and rhs
.
T | The component type of both lhs and rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
tue::math::less()
for each corresponding pair of components from lhs
and rhs
.
|
inlinenoexcept |
Computes tue::math::less_equal()
for each corresponding pair of components from lhs
and rhs
.
T | The component type of both lhs and rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
tue::math::less_equal()
for each corresponding pair of components from lhs
and rhs
.
|
inlinenoexcept |
Computes tue::math::greater()
for each corresponding pair of components from lhs
and rhs
.
T | The component type of both lhs and rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
tue::math::greater()
for each corresponding pair of components from lhs
and rhs
.
|
inlinenoexcept |
Computes tue::math::greater_equal()
for each corresponding pair of components from lhs
and rhs
.
T | The component type of both lhs and rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
tue::math::greater_equal()
for each corresponding pair of components from lhs
and rhs
.
|
inlinenoexcept |
Computes tue::math::equal()
for each corresponding pair of components from lhs
and rhs
.
T | The component type of both lhs and rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
tue::math::equal()
for each corresponding pair of components from lhs
and rhs
.
|
inlinenoexcept |
Computes tue::math::not_equal()
for each corresponding pair of components from lhs
and rhs
.
T | The component type of both lhs and rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
tue::math::not_equal()
for each corresponding pair of components from lhs
and rhs
.
|
inlinenoexcept |
Computes the products of each component of lhs
and each corresponding component of rhs
.
T | The component type of lhs . |
U | The component type of rhs . |
C | The column count of both lhs and rhs . |
R | The row count of both lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
lhs
and each corresponding component of rhs
.
|
inlinenoexcept |
Computes the transpose of m
.
T | The component type of m . |
C | The column count of m . |
R | The row count of m . |
m | A mat . |
m
.