[Haskell-beginners] How to improve the accuracy of floating point calculation?

yi lu zhiwudazhanjiangshi at gmail.com
Wed Feb 6 00:04:06 CET 2013


Thanks!
I'll try CReal.
But can I set *significant figures **myself?*


On Wed, Feb 6, 2013 at 6:50 AM, Brandon Allbery <allbery.b at gmail.com> wrote:

> On Tue, Feb 5, 2013 at 5:41 PM, yi lu <zhiwudazhanjiangshi at gmail.com>wrote:
>
>> I found that in ghci, I input
>> [0.1,0.2..2]
>> and run, I get a result of
>>
>>
>> [0.1,0.2,0.30000000000000004,0.4000000000000001,0.5000000000000001,0.6000000000000001,0.7000000000000001,0.8,0.9,1.0,1.1,1.2000000000000002,1.3000000000000003,1.4000000000000004,1.5000000000000004,1.6000000000000005,1.7000000000000006,1.8000000000000007,1.9000000000000008,2.000000000000001]
>>
>> But, as you know, it is not the exact answer.
>>
>> So, I wonder if there is something I can do to achieve a better
>> performance and get [0.1,0.2,0.3,0.4..] as the result.
>>
>
> Welcome to the world of floating point numbers.  Perfect accuracy is not
> possible; the CReal type from the "numbers" package may handle cases you
> care about, or may not.  (Other languages often use output formats that can
> largely hide the errors, but they're still there and will eventually
> accumulate into visibility.)
>
> --
> brandon s allbery kf8nh                               sine nomine
> associates
> allbery.b at gmail.com
> ballbery at sinenomine.net
> unix, openafs, kerberos, infrastructure, xmonad
> http://sinenomine.net
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20130206/49d6437c/attachment.htm>


More information about the Beginners mailing list