
on 04.05.2010 at 15:34 Stewart, Robert wrote :
Frank Mori Hess wrote:
Speaking of numeric_limits, anyone know why they defined numeric_limits::min() to mean something completely different for floating and integer types?
numeric_limits<double>::min is: 2.22507e-308 numeric_limits<int>::min is: -2147483648
That is a pain, isn't it? I can only assume it was to avoid adding yet more attributes. (You'd need biggest, smallest, maximum, and minimum, or some such set to express everything.) Floating point types don't have asymmetrical ranges like integral types.
not that much typedef std::numeric_limits<type> traits; const type realy_min = traits::is_integer ? traits::min() : -traits::max(); -- Pavel P.S. if you notice a grammar mistake or weird phrasing in my message please point it out