10 #ifndef EIGEN_TRIANGULAR_SOLVER_VECTOR_H 
   11 #define EIGEN_TRIANGULAR_SOLVER_VECTOR_H 
   17 template<
typename LhsScalar, 
typename RhsScalar, 
typename Index, 
int Mode, 
bool Conjugate, 
int StorageOrder>
 
   25       >::
run(
size, _lhs, lhsStride, rhs);
 
   30 template<
typename LhsScalar, 
typename RhsScalar, 
typename Index, 
int Mode, 
bool Conjugate>
 
   51         IsLower ? pi<size : pi>0;
 
   52         IsLower ? pi+=PanelWidth : pi-=PanelWidth)
 
   62         Index startRow = IsLower ? pi : pi-actualPanelWidth;
 
   63         Index startCol = IsLower ? 0 : pi;
 
   67           LhsMapper(&lhs.coeffRef(startRow,startCol), lhsStride),
 
   68           RhsMapper(rhs + startCol, 1),
 
   73       for(
Index k=0; 
k<actualPanelWidth; ++
k)
 
   88 template<
typename LhsScalar, 
typename RhsScalar, 
typename Index, 
int Mode, 
bool Conjugate>
 
  107         IsLower ? pi<size : pi>0;
 
  108         IsLower ? pi+=PanelWidth : pi-=PanelWidth)
 
  111       Index startBlock = IsLower ? pi : pi-actualPanelWidth;
 
  112       Index endBlock = IsLower ? pi + actualPanelWidth : 0;
 
  114       for(
Index k=0; 
k<actualPanelWidth; ++
k)
 
  120             rhs[
i] /= cjLhs.coeff(
i,
i);
 
  122           Index r = actualPanelWidth - 
k - 1; 
 
  128       Index r = IsLower ? 
size - endBlock : startBlock; 
 
  136             LhsMapper(&lhs.coeffRef(endBlock,startBlock), lhsStride),
 
  137             RhsMapper(rhs+startBlock, 1),
 
  138             rhs+endBlock, 1, RhsScalar(-1));
 
  148 #endif // EIGEN_TRIANGULAR_SOLVER_VECTOR_H