diff --git a/basic-geometry/slerp.c b/basic-geometry/slerp.c index 11d8075..a848842 100644 --- a/basic-geometry/slerp.c +++ b/basic-geometry/slerp.c @@ -16,7 +16,7 @@ void bgc_fp32_slerp_make(BGC_FP32_Slerp* slerp, const BGC_FP32_Turn3* start, con { const float square_vector = augment->_versor.x1 * augment->_versor.x1 + augment->_versor.x2 * augment->_versor.x2 + augment->_versor.x3 * augment->_versor.x3; - if (square_vector != square_vector) { + if (isnan(square_vector)) { bgc_fp32_slerp_reset(slerp); return; } @@ -57,7 +57,7 @@ void bgc_fp64_slerp_make(BGC_FP64_Slerp* slerp, const BGC_FP64_Turn3* start, con { const double square_vector = augment->_versor.x1 * augment->_versor.x1 + augment->_versor.x2 * augment->_versor.x2 + augment->_versor.x3 * augment->_versor.x3; - if (square_vector != square_vector) { + if (isnan(square_vector)) { bgc_fp64_slerp_reset(slerp); return; }