|
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.
1.8.10