Gennaro Prota <[EMAIL PROTECTED]> writes: > Dave, I have shortened the subject since it seemed, so far, to be > changed at each post preventing grouping the messages 'by thread' (at > least with my reader). Now, it should have been changed once for all. > > On Thu, 09 Jan 2003 13:21:12 -0500, David Abrahams > <[EMAIL PROTECTED]> wrote: > >>Uh, wait a sec. Is it a good idea to mess with >>boost/detail/limits.hpp? > > Gulp! I thought I was proposing "simplifying" it, not messing! :-) > >>It's just a workaround for broken/missing >>numeric_limits implementations, and it was a pain to get right. Did >>you mention this before? If so, I guess I missed it. > > No, I didn't mention it. As I said, I never saw the code before. > Anyway it seems simply copied by some SGI implementation, so I doubt > it was such a pain to get right (no offense intended, really)
Before you say that, look at the CVS revision history. >>> BOOST_STATIC_CONSTANT(int, digits, precision<T>::value); >> >>I guess if you think it's doing something wrong and you can fix it, >>it's worth doing. > > It depends on what you mean by "wrong". It works on all the compilers > supported by boost but is uselessly complicated and not portable. OK, if it works I'm for it. >>> Note, as to digits and digits10, that a similar clean up is >>> possible for floating point types too, by adding e.g.: >>> >>> >>> template <typename T> struct digits { >>> BOOST_STATIC_CONSTANT(int, value = 0); // dummy value; >>> (debatable) >>> }; >>> >>> template <> struct digits<float> >>> { BOOST_STATIC_CONSTANT(int, value = FLT_MANT_DIG); }; >>> template <> struct digits<double> >>> { BOOST_STATIC_CONSTANT(int, value = DBL_MANT_DIG); }; >>> template <> struct digits<long double> >>> { BOOST_STATIC_CONSTANT(int, value = LDBL_MANT_DIG);}; >> >>Not sure if this will work portably. > > Do you mean that we have implementations that don't provide the > x_MANT_DIG macros? Otherwise the code is perfectly portable by > 18.2.1.2 of the standard. No, I mean that those specializations might not be portable to all compilers. Remember that this file is for broken implementations to begin with. -- David Abrahams [EMAIL PROTECTED] * http://www.boost-consulting.com Boost support, enhancements, training, and commercial distribution _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost