MCPcopy Create free account
hub / github.com/PX4/eigen / solveInPlace

Method solveInPlace

Eigen/src/Core/SolveTriangular.h:167–183  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

165template<typename MatrixType, unsigned int Mode>
166template<int Side, typename OtherDerived>
167void TriangularViewImpl<MatrixType,Mode,Dense>::solveInPlace(const MatrixBase<OtherDerived>& _other) const
168{
169 OtherDerived& other = _other.const_cast_derived();
170 eigen_assert( derived().cols() == derived().rows() && ((Side==OnTheLeft && derived().cols() == other.rows()) || (Side==OnTheRight && derived().cols() == other.cols())) );
171 eigen_assert((!(Mode & ZeroDiag)) && bool(Mode & (Upper|Lower)));
172
173 enum { copy = (internal::traits<OtherDerived>::Flags & RowMajorBit) && OtherDerived::IsVectorAtCompileTime && OtherDerived::SizeAtCompileTime!=1};
174 typedef typename internal::conditional<copy,
175 typename internal::plain_matrix_type_column_major<OtherDerived>::type, OtherDerived&>::type OtherCopy;
176 OtherCopy otherCopy(other);
177
178 internal::triangular_solver_selector<MatrixType, typename internal::remove_reference<OtherCopy>::type,
179 Side, Mode>::run(derived().nestedExpression(), otherCopy);
180
181 if (copy)
182 other = otherCopy;
183}
184
185template<typename Derived, unsigned int Mode>
186template<int Side, typename Other>

Callers 1

_solve_implFunction · 0.45

Calls 4

runFunction · 0.70
colsMethod · 0.45
rowsMethod · 0.45
nestedExpressionMethod · 0.45

Tested by

no test coverage detected