That can't be answered with the information given. It's not the representation of your input numbers that matters, but the arithmetic that drops off significance that give incorrect results. For example, if you compute c*(a-b) and all three numbers are well within the legal range and precision of floating point, you can
still get the wrong answer if a and b are nearly equal and c is of a magnitude that's not nearly the same as that difference.
Perhaps you can do some testing and see which datasets give the same answer the fast way and the slow way, then see if you can derive some emperical ideas from that.
The formal approach would be to compute tolerances along side the main calculation. This would cut the speed in half, but that's still nothing like the factor of 40 you have now. Then you can detect when the significance requires upgrading to bigfloat. In fact... you could write a lazybigfloat module that does this for you automatically. Then you can do some analysis and only employ it for expressions that might need it, like in the example above.
—John
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.