Ilya Zakharevich <ilya@math.ohio-state.edu> writes: > >Do you know what IEEE says about such checks? I think so (or I can go look)... >Is -0 an integer? Yes 0. (Though ±0 is an area if IEEE floats that makes me sick...) >Is >-Inf? No, (and it is out of range anyway...) >Is NaN? No. It isn't a number, so how can it be an integer. >Etc etc etc. Checking that a float is an integer is >a non-trivial and a very expensive operation. No it isn't (at least for IEEE). It is a simple matter of comparing the (binary) exponent with the (known, constant) number of bits in the mantissa. and then seeing if there are any non-zero bits to the right of the radix point. (am I missing something here?). Non-coincidentally the special exponent values for Inf and NaN are outside that range. There are usually macros to do that. What is much harder to do is the same thing from portable C code. -- Nick Ing-Simmons