That “epsilon” value of 1e-14 worries me! Common sense suggests that if a fudge factor is needed to some tests work when they should, then that same fudge factor will make other tests fail when it should’t. Or is this paranoia?
This also worries me. I can't believe that this will solve the problem in all cases.
I’m thinking the only foolproof method may be to avoid the use of floating-point numbers altogether by doing the calculation with integers, and inserting the decimal point only when the calculation is complete. Is there a module which takes this approach? So far, I haven’t found one (but I may well be looking in the wrong places).
It does not seem that BigRat, BigInt, BigNum and the like are doing that.
But that is what Perl 6 is doing with the Rat type, which consists of a pair of integer numbers representing separately the numerator and the denominator, so that 13.25 would be represented as (1325, 100), or perhaps more probably (53, 4). I can't check right now, but maybe one of the Perl 6 modules (I mean the Perl 5 modules developed over the years to simulate and test the Perl 6 concepts) is doing that.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|