Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
tap::algorithms::CMSISMat< ROWS, COLS > Struct Template Reference

#include <cmsis_mat.hpp>

Public Member Functions

 CMSISMat ()
 
 CMSISMat (const float(&initialData)[ROWS *COLS])
 
 CMSISMat (const CMSISMat &other)
 
 CMSISMat (CMSISMat &&other)
 
CMSISMatoperator= (const CMSISMat &other)
 
CMSISMatoperator= (CMSISMat &&other)
 
void copyData (const float(&other)[ROWS *COLS])
 
bool constructIdentityMatrix ()
 
CMSISMat< COLS, ROWS > inverse () const
 
CMSISMat< COLS, ROWS > transpose () const
 

Public Attributes

std::array< float, ROWS *COLS > data
 
arm_matrix_instance_f32 matrix
 

Detailed Description

template<uint16_t ROWS, uint16_t COLS>
struct tap::algorithms::CMSISMat< ROWS, COLS >

Wraps an arm_mat_instance_f32 and its associated array. This is done to make it clear which arrays are associated with which arm_mat_instance_f32 instances.

Constructor & Destructor Documentation

◆ CMSISMat() [1/4]

template<uint16_t ROWS, uint16_t COLS>
tap::algorithms::CMSISMat< ROWS, COLS >::CMSISMat ( )
inline

◆ CMSISMat() [2/4]

template<uint16_t ROWS, uint16_t COLS>
tap::algorithms::CMSISMat< ROWS, COLS >::CMSISMat ( const float(&)  initialData[ROWS *COLS])
inline

◆ CMSISMat() [3/4]

template<uint16_t ROWS, uint16_t COLS>
tap::algorithms::CMSISMat< ROWS, COLS >::CMSISMat ( const CMSISMat< ROWS, COLS > &  other)
inline

Deep copy. Costly; use std::move to invoke move constructor whenever possible.

◆ CMSISMat() [4/4]

template<uint16_t ROWS, uint16_t COLS>
tap::algorithms::CMSISMat< ROWS, COLS >::CMSISMat ( CMSISMat< ROWS, COLS > &&  other)
inline

Member Function Documentation

◆ constructIdentityMatrix()

template<uint16_t ROWS, uint16_t COLS>
bool tap::algorithms::CMSISMat< ROWS, COLS >::constructIdentityMatrix ( )
inline

Construct identity matrix in the current CMSISMat.

◆ copyData()

template<uint16_t ROWS, uint16_t COLS>
void tap::algorithms::CMSISMat< ROWS, COLS >::copyData ( const float(&)  other[ROWS *COLS])
inline

◆ inverse()

template<uint16_t ROWS, uint16_t COLS>
CMSISMat< COLS, ROWS > tap::algorithms::CMSISMat< ROWS, COLS >::inverse ( ) const
inline

◆ operator=() [1/2]

template<uint16_t ROWS, uint16_t COLS>
CMSISMat & tap::algorithms::CMSISMat< ROWS, COLS >::operator= ( CMSISMat< ROWS, COLS > &&  other)
inline

◆ operator=() [2/2]

template<uint16_t ROWS, uint16_t COLS>
CMSISMat & tap::algorithms::CMSISMat< ROWS, COLS >::operator= ( const CMSISMat< ROWS, COLS > &  other)
inline

Deep copy. Costly; use std::move to invoke move assignment whenever possible.

◆ transpose()

template<uint16_t ROWS, uint16_t COLS>
CMSISMat< COLS, ROWS > tap::algorithms::CMSISMat< ROWS, COLS >::transpose ( ) const
inline

Member Data Documentation

◆ data

template<uint16_t ROWS, uint16_t COLS>
std::array<float, ROWS * COLS> tap::algorithms::CMSISMat< ROWS, COLS >::data

◆ matrix

template<uint16_t ROWS, uint16_t COLS>
arm_matrix_instance_f32 tap::algorithms::CMSISMat< ROWS, COLS >::matrix

The documentation for this struct was generated from the following file: