
| -----Original Message----- | From: boost-bounces@lists.boost.org | [mailto:boost-bounces@lists.boost.org] On Behalf Of Victor A. | Wagner Jr. | Sent: 26 July 2004 19:53 | To: boost@lists.boost.org | Subject: Re: [boost] Unit test could usefully output more | significantdigits to log files? | | >In test_tools.hpp, I have added an increase to the ostream precision | >(default only 6 digits) int print_log_value thus | > | > template<typename T> | > struct print_log_value { | > void operator()( std::ostream& ostr, T const& t ) | > { | > if(std::numeric_limits<T>::is_specialized && | >std::numeric_limits<T>::radix == 2) | > { // Show all possibly significant digits (for example, | 17 for 64-bit | >double). | > ostr.precision(2 + std::numeric_limits<T>::digits * 301/1000); | | is there some reason you didn't: | ostr.precision(2 + std::numeric_limits<T>::digits10); | instead of estimating log(2)? (301/1000) | Yes - it was to get all possibly significant digits, rather than all guaranteed. You need to estimate log2 because the compiler won't do the necessary fp calculations. Sometimes this is more helpful - and since this a diagnostic, it seemed a little better. However digits10 would also be much better than default 6 precision. Paul Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB +44 1539 561830 +44 7714 330204 mailto: pbristow@hetp.u-net.com