On 11/17/05, Kevin Wheatley <hxpro@cinesite.co.uk> wrote:

don't know of a great solution but under IEEE class floats can't you
compute the numbers...

NaN = 0/0
+inf = +1/0
-inf = -1/0
+0 = 0/+1
-0 = 0/-1
etc.

The +/-0 formulas work, but not the NaN and +/-Inf ones (divide by zero generates a floating point exception).  Thankfully, can't we use numeric_limits for some of these?

std::numeric_limits<T>::infinity()
std::numeric_limits<T>::quiet_NaN()
std::numeric_limits<T>::signaling_NaN()
std::numeric_limits<T>::denorm_min()

--
Caleb Epstein
caleb dot epstein at gmail dot com