mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-06-22 08:52:15 +08:00
compilation fix with conjugate_gradient_solve_retval_with_guess
This commit is contained in:
parent
51f706b916
commit
3a2cabc275
@ -330,13 +330,13 @@ struct solve_retval<ConjugateGradient<_MatrixType,_UpLo,_Preconditioner>, Rhs>
|
|||||||
|
|
||||||
template<typename CG, typename Rhs, typename Guess>
|
template<typename CG, typename Rhs, typename Guess>
|
||||||
class conjugate_gradient_solve_retval_with_guess
|
class conjugate_gradient_solve_retval_with_guess
|
||||||
: solve_retval_base<CG, Rhs>
|
: public solve_retval_base<CG, Rhs>
|
||||||
{
|
{
|
||||||
typedef Eigen::internal::solve_retval_base<CG,Rhs> Base;
|
typedef Eigen::internal::solve_retval_base<CG,Rhs> Base;
|
||||||
using Base::dec;
|
using Base::dec;
|
||||||
using Base::rhs;
|
using Base::rhs;
|
||||||
|
public:
|
||||||
conjugate_gradient_solve_retval_with_guess(const CG& cg, const Rhs& rhs, const Guess guess)
|
conjugate_gradient_solve_retval_with_guess(const CG& cg, const Rhs& rhs, const Guess& guess)
|
||||||
: Base(cg, rhs), m_guess(guess)
|
: Base(cg, rhs), m_guess(guess)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
@ -53,6 +53,10 @@ template<typename Scalar,typename Index> void cg(int size)
|
|||||||
x = ConjugateGradient<SparseMatrixType, Lower>().compute(m3).solve(b);
|
x = ConjugateGradient<SparseMatrixType, Lower>().compute(m3).solve(b);
|
||||||
VERIFY(ref_x.isApprox(x,test_precision<Scalar>()) && "ConjugateGradient: solve, full storage, lower");
|
VERIFY(ref_x.isApprox(x,test_precision<Scalar>()) && "ConjugateGradient: solve, full storage, lower");
|
||||||
|
|
||||||
|
x.setRandom();
|
||||||
|
x = ConjugateGradient<SparseMatrixType, Lower>().compute(m3).solveWithGuess(b,x);
|
||||||
|
VERIFY(ref_x.isApprox(x,test_precision<Scalar>()) && "ConjugateGradient: solveWithGuess, full storage, lower");
|
||||||
|
|
||||||
x = ConjugateGradient<SparseMatrixType, Upper>().compute(m3).solve(b);
|
x = ConjugateGradient<SparseMatrixType, Upper>().compute(m3).solve(b);
|
||||||
VERIFY(ref_x.isApprox(x,test_precision<Scalar>()) && "ConjugateGradient: solve, full storage, upper, single dense rhs");
|
VERIFY(ref_x.isApprox(x,test_precision<Scalar>()) && "ConjugateGradient: solve, full storage, upper, single dense rhs");
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user