10#ifndef EIGEN_TRIANGULAR_SOLVER_VECTOR_H
11#define EIGEN_TRIANGULAR_SOLVER_VECTOR_H
17template<
typename LhsScalar,
typename RhsScalar,
typename Index,
int Mode,
bool Conjugate,
int StorageOrder>
20 static void run(Index size,
const LhsScalar*
_lhs, Index
lhsStride, RhsScalar* rhs)
30template<
typename LhsScalar,
typename RhsScalar,
typename Index,
int Mode,
bool Conjugate>
36 static void run(Index size,
const LhsScalar*
_lhs, Index
lhsStride, RhsScalar* rhs)
49 static const Index
PanelWidth = EIGEN_TUNE_TRIANGULAR_PANEL_WIDTH;
50 for(Index
pi=IsLower ? 0 : size;
56 Index r = IsLower ?
pi : size -
pi;
63 Index startCol = IsLower ? 0 :
pi;
75 Index i = IsLower ?
pi+k :
pi-k-1;
76 Index s = IsLower ?
pi : i+1;
88template<
typename LhsScalar,
typename RhsScalar,
typename Index,
int Mode,
bool Conjugate>
94 static void run(Index size,
const LhsScalar*
_lhs, Index
lhsStride, RhsScalar* rhs)
104 static const Index
PanelWidth = EIGEN_TUNE_TRIANGULAR_PANEL_WIDTH;
106 for(Index
pi=IsLower ? 0 : size;
116 Index i = IsLower ?
pi+k :
pi-k-1;
118 rhs[i] /=
cjLhs.coeff(i,i);
121 Index s = IsLower ? i+1 : i-r;
Definition ForwardDeclarations.h:89
A matrix or vector expression mapping an existing array of data.
Definition Map.h:91
Pseudo expression representing a solving operation.
Definition Solve.h:63
@ UnitDiag
Matrix has ones on the diagonal; to be used in combination with #Lower or #Upper.
Definition Constants.h:208
@ Lower
View matrix as a lower triangular matrix.
Definition Constants.h:204
@ Upper
View matrix as an upper triangular matrix.
Definition Constants.h:206
@ ColMajor
Storage order is column major (see TopicStorageOrders).
Definition Constants.h:320
@ RowMajor
Storage order is row major (see TopicStorageOrders).
Definition Constants.h:322
@ OnTheLeft
Apply transformation on the left.
Definition Constants.h:333
@ OnTheRight
Apply transformation on the right.
Definition Constants.h:335
Definition SolveTriangular.h:20