#1574 bfloat(gamma(3/4)/gamma(1/4)) is wrong.

closed
nobody
Lisp Core (471)
5
2009-01-28
2009-01-28
Raymond Toy
No

blfoat(gamma(3/4)/gamma(1/4)) returns 4.125843750410604b-5. The correct answer should be close to float(gamma(3/4)/gamma(1/4) = .3379891200336423.

The issue is caused by the fact that bffac uses 4 extra digits in the computation and that result is returned. It eventually gets used in invertbigfloat which divides 1 by this value. The precisions don't match which causes the problem.

Discussion

  • Raymond Toy

    Raymond Toy - 2009-01-28

    Changed invertbigfloat to round its argument if necessary. Solves this immediate problem, but there may be similar issues in the code.

    Fixed in float.lisp, rev 1.48

     
  • Raymond Toy

    Raymond Toy - 2009-01-28
    • status: open --> closed
    • summary: blfoat(gamma(3/4)/gamma(1/4)) is wrong. --> bfloat(gamma(3/4)/gamma(1/4)) is wrong.
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks