fork download
  1. #include <type_traits>
  2.  
  3. template<typename T>
  4. typename std::enable_if<std::is_floating_point<T>::value, bool>::type isnan(T const val)
  5. {
  6. T volatile const temp = val;
  7. return temp != val;
  8. }
  9.  
  10. #include <cmath>
  11. #include <iostream>
  12.  
  13. int main()
  14. {
  15. std::cout << isnan(NAN);
  16. }
Success #stdin #stdout 0s 2928KB
stdin
Standard input is empty
stdout
1