Why do isnan, isinf, and isfinite return an int and not a bool?
===

[isnan][1] returns an int... `nonzero value if arg is NaN, ​0​ otherwise`. Why doesn't it return a bool? This isn't some legacy stuff, it's new with C++11.


  [1]: http://en.cppreference.com/w/cpp/numeric/math/isnan