This was shown up by gcc 4.4.4. There are two potential fixes, but I don't
understand the code well enough to choose one right now.
EITHER :
replace lines 613-614 with "par = parl;"...
OR :
T par = T(0);
on line 286, then :
change line 290 from :
T par = computeLMParameter( m_wa1, m_wa2->writable(), delta );
to :
computeLMParameter( m_wa1, m_wa2->writable(), delta, par );
change the function definition:
T LevenbergMarquardt<T, ErrorFn, Traits>::computeLMParameter( std::vector<T>
&x, std::vector<T> &sdiag, T delta )
to :
void LevenbergMarquardt<T, ErrorFn, Traits>::computeLMParameter( std::vector<T>
&x, std::vector<T> &sdiag, T delta, T &par )
change line 572 from :
return 0;
to:
par = T(0);
and then delete that peskly line 523....
Original issue reported on code.google.com by thehaddo...@gmail.com on 27 Oct 2011 at 11:30
Original issue reported on code.google.com by
thehaddo...@gmail.com
on 27 Oct 2011 at 11:30