M5Unit-IMU 0.0.2 git rev:e5b00aa
Loading...
Searching...
No Matches
m5::math::Matrix< R, C > Class Template Reference

Fixed-size (R rows x C columns) float matrix, std::array backed (no heap allocation) More...

#include <matrix.hpp>

Public Member Functions

float & at (const std::size_t row, const std::size_t col)
 Element access (mutable)
 
float at (const std::size_t row, const std::size_t col) const
 Element access (read-only)
 
float & operator() (const std::size_t row, const std::size_t col)
 Element access via operator() (mutable)
 
float operator() (const std::size_t row, const std::size_t col) const
 Element access via operator() (read-only)
 
Matrix< R, C > operator+ (const Matrix< R, C > &rhs) const
 Component-wise addition.
 
Matrix< R, C > operator- (const Matrix< R, C > &rhs) const
 Component-wise subtraction.
 
Matrix< R, C > operator* (const float scalar) const
 Scalar multiplication.
 
template<std::size_t K>
Matrix< R, K > operator* (const Matrix< C, K > &rhs) const
 Matrix product (this [R x C] times rhs [C x K] -> [R x K])
 
Matrix< C, R > transposed () const
 Transpose (C x R)
 

Static Public Member Functions

static constexpr std::size_t rows ()
 Number of rows.
 
static constexpr std::size_t cols ()
 Number of columns.
 
static Matrix< R, C > identity ()
 Identity matrix (square matrices only)
 

Detailed Description

template<std::size_t R, std::size_t C>
class m5::math::Matrix< R, C >

Fixed-size (R rows x C columns) float matrix, std::array backed (no heap allocation)