Git Product home page Git Product logo

Comments (3)

floitsch avatar floitsch commented on May 7, 2024

Sorry this reply took so long...
You are probably right that it's not necessary. I wrote the code in accordance to the PLDI paper which proves that this approach is correct. A few weeks back I tried to prove that the algorithm is still correct without adding delta_plus. It didn't finish (although I admittedly didn't spend much time on it).
Given that the adding shouldn't be expensive I prefer not to change it. (It just has been too long since I wrote it, and I would need significant effort to get completely back into the algorithm).
If there are real downsides to adding it, I could give it a bit more attention, though.

from double-conversion.

amanjiang avatar amanjiang commented on May 7, 2024

I was wrong, adding it is necessary.

I'm working on a project, and today I found that testcase "1e-23" (vs debugger represents it as "9.9999999999999996e-24") will fail if I change the algorithm. In this case, the first generated digit is 0, then it reached the boundary (in delta plus room), round up, 1.

I'm sorry for this.

from double-conversion.

floitsch avatar floitsch commented on May 7, 2024

Thanks a lot for giving an update.
I will make sure I add this as a test-case.

from double-conversion.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.