Hi all,

This example of the issue Davide pointed out relative to this post involving the round-off error associated with decimals came up in a problem that I was working on, so I'm putting it here as another example. Consider the problem text

$p1 = 0.1; $i = 0; while ( round(10*$p1) != 9 && $i < 10) { $p1 = 0.5 + non_zero_random(-0.2,0.4,0.1); $i++; } $p2 = 0.9 - $p1; BEGIN_TEXT $p1, $p2 END_TEXT

(Note that the loop is to ensure that the value of `$p1`

is 0.9, and that this was generated through the call to `non_zero_random`

. I included the counter `$i`

because I *really* don't like having loops that don't terminate.)

The output is `0.9, -1.11022302462516e-16`

, which suggests to me that we're getting numeric (data storage and/or round off) error when calculating the values.

It is interesting to try this and the (theoretically equivalent, but not)

$p1 = 0.9; $p2 = 0.9 - $p1; BEGIN_TEXT $p1, $p2 END_TEXT

In Davide's interactive problem lab.

Gavin