# Boost :

From: Paul A Bristow (pbristow_at_[hidden])
Date: 2006-10-31 12:59:40

| -----Original Message-----
| From: boost-bounces_at_[hidden]
| [mailto:boost-bounces_at_[hidden]] On Behalf Of Daryle Walker
| Sent: 31 October 2006 17:17
| To: Boost mailing list
| Subject: Re: [boost] Simulating log{10}(2)
|
| On 10/30/06 5:50 AM, "Paul A Bristow"
| <pbristow_at_[hidden]> wrote:
|
| >> -----Original Message-----
| >> From: boost-bounces_at_[hidden]
| >> [mailto:boost-bounces_at_[hidden]] On Behalf Of Daryle Walker
| >> Sent: 29 October 2006 20:00
| >> To: Boost mailing list
| >> Subject: [boost] Simulating log{10}(2)
| > <snip>
| >
| >> The common approximation 0.301 differs from the actual
| expansion at a4 = 2.
| >> The convergent there is 59/196. The absolute differences
| between those
| >> values and the actual value are:
| >>
| >> |log{10}(2) - 0.301| = 2.9995664e-5
| >> |log{10}(2) - 59/196| = 9.58750072e-6
| >>
| >> The convergent is 3.1 times closer to the actual value
| than the common
| >> approximation. Using 0.30103 versus the convergent
| 4004/13301 at the point
| >> of differing a7 = 6 gives the convergent an improvement
| factor of 2.1. The
| >> convergents have smaller numerators and denominators than
| their common
| >> approximations, making them easier to calculate without
| worry of overflow.
| >> Conversely, if you know that you have more leeway in
| multiplications, then
| >> using higher convergent fractions instead of the decimal
| expansion are a
| >> better bet.
| >
| > Well this is very interesting and I am sure you are right,
| but for the
| > purpose of calculating the number of decimal digits, the
| approximation seems
| > to me to be 'fit for purpose' (or good enough).
| [TRUNCATE how the current approximations are used]
|
| But we have the option of doing better. I'm wondering if we
| should change
| our code to use the better approximating fractions.

Very probably would be better. But I'm not the maintainer of lexical cast code, etc, merely an interefering bystander ;-)

Paul

```---
Paul A Bristow
Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB
+44 1539561830 & SMS, Mobile +44 7714 330204 & SMS
pbristow_at_[hidden]

```