Use std::numeric_limits<T>::has_quiet_NaN.