ICRS Eurobot 2013

Dependencies:   mbed mbed-rtos Servo QEI

Embed: (wiki syntax)

« Back to documentation index

gemtm< Rows1, Cols1, Cols2 > Class Template Reference

gemtm< Rows1, Cols1, Cols2 > Class Template Reference

class for matrix-matrix product using loop unrolling. More...

#include <tvmet/loop/Gemtm.h>


Detailed Description

template<std::size_t Rows1, std::size_t Cols1, std::size_t Cols2>
class tvmet::loop::gemtm< Rows1, Cols1, Cols2 >

class for matrix-matrix product using loop unrolling.

using formula

\[ M_1^{T}\,M_2 \]

Example:
 template<class T, std::size_t Rows1, std::size_t Cols1, std::size_t Cols2>
 inline
 void
 prod(const Matrix<T, Rows1, Cols1>& lhs, const Matrix<T, Rows1, Cols2>& rhs,
     Matrix<T, Cols2, Cols1>& dest)
 {
   for (std::size_t i = 0; i != Cols1; ++i) {
     for (std::size_t j = 0; j != Cols2; ++j) {
       dest(i, j) = tvmet::loop::gemtm<Rows1, Cols1, Cols2>::prod(lhs, rhs, i, j);
     }
   }
 }
Note:
The number of rows of rhs matrix have to be equal rows of rhs matrix, since lhs matrix 1 is transposed. The result is a (Cols1 x Cols2) matrix.

Definition at line 60 of file loop/Gemtm.h.