Open conradsnicta opened 5 years ago
The following statement in fastplm.cpp always evaluates to false: https://github.com/xuyiqing/interflex/blob/560d31782db3585058d20e85132fbfe961de9e1a/src/fastplm.cpp#L178
fastplm.cpp
According to the documentation for std::numeric_limits::quiet_NaN()
A NaN never compares equal to itself.
Armadillo uses std::numeric_limits<T>::quiet_NaN() for datum::nan, so the same caveat applies.
std::numeric_limits<T>::quiet_NaN()
To fix this, use std::isnan() instead: if (std::isnan(coef(i))) {
if (std::isnan(coef(i))) {
The following statement in
fastplm.cpp
always evaluates to false: https://github.com/xuyiqing/interflex/blob/560d31782db3585058d20e85132fbfe961de9e1a/src/fastplm.cpp#L178According to the documentation for std::numeric_limits::quiet_NaN()
Armadillo uses
std::numeric_limits<T>::quiet_NaN()
for datum::nan, so the same caveat applies.To fix this, use std::isnan() instead:
if (std::isnan(coef(i))) {