Test on Rational Fitting with Test_Smooth_Step_1d_no_vs.txt FAILS with rational_fitter_quadprog
The test above fails on
- Linux Ubuntu Zeisty 17.04 with Eigen 3.3.2-1
- Linux Ubuntu 16.04 with Eigen Eigen 3.3 beta1
Output example on Ubuntu 16.04 (analyse of the core dumped file)
Core was generated by `/home/pac/Projets/alta_testing/build/softs/data2brdf --input /home/pac/Projets/'.
Program terminated with signal SIGFPE, Arithmetic exception.
#0 0x00007fa3a0f01fed in alta::isnan<double> (x=-28.257769935340399) at sources/core/common.h:188
188 return x==std::numeric_limits<T>::signaling_NaN();
(gdb) bt
#0 0x00007fa3a0f01fed in alta::isnan<double> (x=-28.257769935340399) at sources/core/common.h:188
#1 0x00007fa3a0eff0a3 in rational_fitter_quadprog::fit_data (this=0xbe15b0, d=std::shared_ptr (count 2, weak 0) 0xbedd70, np=1, nq=1, ny=0, r=0xbe3a10)
at sources/plugins/rational_fitter_quadprog/rational_fitter.cpp:364
#2 0x00007fa3a0efddb8 in rational_fitter_quadprog::fit_data (this=0xbe15b0, d=std::shared_ptr (count 2, weak 0) 0xbedd70, np=1, nq=1, r=std::shared_ptr (count 2, weak 0) 0xbe14d0)
at sources/plugins/rational_fitter_quadprog/rational_fitter.cpp:134
#3 0x00007fa3a0efd2ae in rational_fitter_quadprog::fit_data (this=0xbe15b0, dat=std::shared_ptr (count 2, weak 0) 0xbedd70, fit=std::shared_ptr (count 2, weak 0) 0xbe14d0, args=...)
at sources/plugins/rational_fitter_quadprog/rational_fitter.cpp:71
As shown above the problem comes from the call to
std::numeric_limits<T>::signaling_NaN();
On my way to create a branch fix-isnan to fix the problem