Public Types | Static Public Member Functions | List of all members
lar::util::details::DeterminantHelper< T, N, R1, R2, R3, C1, C2, C3 > Struct Template Reference

Determinant of a 3x3 submatrix. More...

#include <FastMatrixMathHelper.h>

Inheritance diagram for lar::util::details::DeterminantHelper< T, N, R1, R2, R3, C1, C2, C3 >:
lar::util::details::DeterminantHelperBase< N >

Public Types

template<unsigned int sR1, unsigned int sR2, unsigned int sC1, unsigned int sC2>
using UpHelper = DeterminantHelper< T, N, sR1, sR2, sC1, sC2 >
 

Static Public Member Functions

static T compute (T const *data)
 
- Static Public Member Functions inherited from lar::util::details::DeterminantHelperBase< N >
static constexpr size_t index (unsigned int row, unsigned int col)
 

Detailed Description

template<typename T, unsigned int N, unsigned int R1, unsigned int R2, unsigned int R3, unsigned int C1, unsigned int C2, unsigned int C3>
struct lar::util::details::DeterminantHelper< T, N, R1, R2, R3, C1, C2, C3 >

Determinant of a 3x3 submatrix.

Definition at line 192 of file FastMatrixMathHelper.h.

Member Typedef Documentation

template<typename T , unsigned int N, unsigned int R1, unsigned int R2, unsigned int R3, unsigned int C1, unsigned int C2, unsigned int C3>
template<unsigned int sR1, unsigned int sR2, unsigned int sC1, unsigned int sC2>
using lar::util::details::DeterminantHelper< T, N, R1, R2, R3, C1, C2, C3 >::UpHelper = DeterminantHelper<T, N, sR1, sR2, sC1, sC2>

Definition at line 206 of file FastMatrixMathHelper.h.

Member Function Documentation

template<typename T , unsigned int N, unsigned int R1, unsigned int R2, unsigned int R3, unsigned int C1, unsigned int C2, unsigned int C3>
static T lar::util::details::DeterminantHelper< T, N, R1, R2, R3, C1, C2, C3 >::compute ( T const *  data)
inlinestatic

Definition at line 207 of file FastMatrixMathHelper.h.

208  {
209  return
210  data[index(R1, C1)] * UpHelper<R2, R3, C2, C3>::compute(data)
211  - data[index(R1, C2)] * UpHelper<R2, R3, C1, C3>::compute(data)
212  + data[index(R1, C3)] * UpHelper<R2, R3, C1, C2>::compute(data)
213  ;
214  }
class C3 in group 2
Definition: group.cpp:35
static constexpr size_t index(unsigned int row, unsigned int col)
class C2 in group 1
Definition: group.cpp:10
class C1 in group 1
Definition: group.cpp:7

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