New user self-registration is currently disabled. Please email eigen-core-team @ lists.tuxfamily.org if you need an account.
Bug 1149 - Pastix(LDLT/LLT/LU).(i/d)parm() does not compile
Pastix(LDLT/LLT/LU).(i/d)parm() does not compile
Status: RESOLVED FIXED
Product: Eigen
Classification: Unclassified
Component: Sparse
3.3 (current stable)
All All
: Normal Compilation Problem
Assigned To: Nobody
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-01-20 14:15 UTC by fabien chêne
Modified: 2016-01-20 18:02 UTC (History)
2 users (show)



Attachments

Description fabien chêne 2016-01-20 14:15:39 UTC
#include <Eigen/PaStiXSupport>

template <class SOLVER>
void f()
{
    SOLVER solver;
    solver.iparm();
    solver.dparm();
}

template void f<PastixSolverLDLT>();
template void f<PastixSolverLLT>();
template void f<PastixSolverLU>();

The code above does not compile, it results in the following error messages, for the three decompositions and both iparm and dparm.

error: invalid initialization of reference of type ‘Eigen::Array<int, 128, 1, 0, 128, 1>&’ from expression of type ‘Eigen::Matrix<int, 128, 1>’
       return m_iparm; 

error: invalid initialization of reference of type ‘Eigen::Array<double, 128, 1, 0, 128, 1>&’ from expression of type ‘Eigen::Matrix<double, 64, 1>’
       return m_dparm;
Comment 1 Gael Guennebaud 2016-01-20 18:02:07 UTC
https://bitbucket.org/eigen/eigen/commits/5e21a9ed6231/

Note You need to log in before you can comment on or make changes to this bug.