-
Notifications
You must be signed in to change notification settings - Fork 2
Fix round #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Fix round #19
Conversation
|
I believe these have all been fixed now. Can you take a look? |
|
Thanks a lot, @jessealama! I've rebased this branch onto the latest commit of the main branch (14f93a9) and run the tests again. I have verified from the test output that all the rounding issues are resolved. However, using the Example:Expected: "11100000000"
Received: "1.11e+10"
Expected: "0.1000000000000000000000000000000015"
Received: "1.000000000000000000000000000000015e-1"
Expected: "-9.99999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e+0"Click here to see all (256 cases) erroneous output from the test resultExpected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "11100000000"
Received: "1.11e+10"
Expected: "-11100000000"
Received: "-1.11e+10"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "110000000"
Received: "1.1e+8"
Expected: "-110000000"
Received: "-1.1e+8"
Expected: "0.1000000000000000000000000000000015"
Received: "1.000000000000000000000000000000015e-1"
Expected: "-0.1000000000000000000000000000000015"
Received: "-1.000000000000000000000000000000015e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "1.000000000000000000000000000000015"
Received: "1.000000000000000000000000000000015e+0"
Expected: "-1.000000000000000000000000000000015"
Received: "-1.000000000000000000000000000000015e+0"
Expected: "1.00000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e+0"
Expected: "-1.00000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e+0"
Expected: "0.100000000000000015"
Received: "1.00000000000000015e-1"
Expected: "-0.100000000000000015"
Received: "-1.00000000000000015e-1"
Expected: "0.10000000000000001"
Received: "1.0000000000000001e-1"
Expected: "-0.10000000000000001"
Received: "-1.0000000000000001e-1"
Expected: "1.00000000000000015"
Received: "1.00000000000000015e+0"
Expected: "-1.00000000000000015"
Received: "-1.00000000000000015e+0"
Expected: "1.0000000000000001"
Received: "1.0000000000000001e+0"
Expected: "-1.0000000000000001"
Received: "-1.0000000000000001e+0"
Expected: "0.1000000000000000000000000000000015"
Received: "1.000000000000000000000000000000015e-1"
Expected: "-0.1000000000000000000000000000000015"
Received: "-1.000000000000000000000000000000015e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "1.000000000000000000000000000000015"
Received: "1.000000000000000000000000000000015e+0"
Expected: "-1.000000000000000000000000000000015"
Received: "-1.000000000000000000000000000000015e+0"
Expected: "1.00000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e+0"
Expected: "-1.00000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e+0"
Expected: "0.100000000000000015"
Received: "1.00000000000000015e-1"
Expected: "-0.100000000000000015"
Received: "-1.00000000000000015e-1"
Expected: "0.10000000000000001"
Received: "1.0000000000000001e-1"
Expected: "-0.10000000000000001"
Received: "-1.0000000000000001e-1"
Expected: "1.00000000000000015"
Received: "1.00000000000000015e+0"
Expected: "-1.00000000000000015"
Received: "-1.00000000000000015e+0"
Expected: "1.0000000000000001"
Received: "1.0000000000000001e+0"
Expected: "-1.0000000000000001"
Received: "-1.0000000000000001e+0"
Expected: "0.1000000000000000000000000000000015"
Received: "1.000000000000000000000000000000015e-1"
Expected: "-0.1000000000000000000000000000000015"
Received: "-1.000000000000000000000000000000015e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "1.000000000000000000000000000000015"
Received: "1.000000000000000000000000000000015e+0"
Expected: "-1.000000000000000000000000000000015"
Received: "-1.000000000000000000000000000000015e+0"
Expected: "1.00000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e+0"
Expected: "-1.00000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e+0"
Expected: "0.100000000000000015"
Received: "1.00000000000000015e-1"
Expected: "-0.100000000000000015"
Received: "-1.00000000000000015e-1"
Expected: "0.10000000000000001"
Received: "1.0000000000000001e-1"
Expected: "-0.10000000000000001"
Received: "-1.0000000000000001e-1"
Expected: "1.00000000000000015"
Received: "1.00000000000000015e+0"
Expected: "-1.00000000000000015"
Received: "-1.00000000000000015e+0"
Expected: "1.0000000000000001"
Received: "1.0000000000000001e+0"
Expected: "-1.0000000000000001"
Received: "-1.0000000000000001e+0"
Expected: "0.1000000000000000000000000000000015"
Received: "1.000000000000000000000000000000015e-1"
Expected: "-0.1000000000000000000000000000000015"
Received: "-1.000000000000000000000000000000015e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "1.000000000000000000000000000000015"
Received: "1.000000000000000000000000000000015e+0"
Expected: "-1.000000000000000000000000000000015"
Received: "-1.000000000000000000000000000000015e+0"
Expected: "1.00000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e+0"
Expected: "-1.00000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e+0"
Expected: "0.100000000000000015"
Received: "1.00000000000000015e-1"
Expected: "-0.100000000000000015"
Received: "-1.00000000000000015e-1"
Expected: "0.10000000000000001"
Received: "1.0000000000000001e-1"
Expected: "-0.10000000000000001"
Received: "-1.0000000000000001e-1"
Expected: "1.00000000000000015"
Received: "1.00000000000000015e+0"
Expected: "-1.00000000000000015"
Received: "-1.00000000000000015e+0"
Expected: "1.0000000000000001"
Received: "1.0000000000000001e+0"
Expected: "-1.0000000000000001"
Received: "-1.0000000000000001e+0"
Expected: "0.1000000000000000000000000000000015"
Received: "1.000000000000000000000000000000015e-1"
Expected: "-0.1000000000000000000000000000000015"
Received: "-1.000000000000000000000000000000015e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "1.000000000000000000000000000000015"
Received: "1.000000000000000000000000000000015e+0"
Expected: "-1.000000000000000000000000000000015"
Received: "-1.000000000000000000000000000000015e+0"
Expected: "1.00000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e+0"
Expected: "-1.00000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e+0"
Expected: "0.100000000000000015"
Received: "1.00000000000000015e-1"
Expected: "-0.100000000000000015"
Received: "-1.00000000000000015e-1"
Expected: "0.10000000000000001"
Received: "1.0000000000000001e-1"
Expected: "-0.10000000000000001"
Received: "-1.0000000000000001e-1"
Expected: "1.00000000000000015"
Received: "1.00000000000000015e+0"
Expected: "-1.00000000000000015"
Received: "-1.00000000000000015e+0"
Expected: "1.0000000000000001"
Received: "1.0000000000000001e+0"
Expected: "-1.0000000000000001"
Received: "-1.0000000000000001e+0"
Expected: "0.1000000000000000000000000000000015"
Received: "1.000000000000000000000000000000015e-1"
Expected: "-0.1000000000000000000000000000000015"
Received: "-1.000000000000000000000000000000015e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "1.000000000000000000000000000000015"
Received: "1.000000000000000000000000000000015e+0"
Expected: "-1.000000000000000000000000000000015"
Received: "-1.000000000000000000000000000000015e+0"
Expected: "1.00000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e+0"
Expected: "-1.00000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e+0"
Expected: "0.100000000000000015"
Received: "1.00000000000000015e-1"
Expected: "-0.100000000000000015"
Received: "-1.00000000000000015e-1"
Expected: "0.10000000000000001"
Received: "1.0000000000000001e-1"
Expected: "-0.10000000000000001"
Received: "-1.0000000000000001e-1"
Expected: "1.00000000000000015"
Received: "1.00000000000000015e+0"
Expected: "-1.00000000000000015"
Received: "-1.00000000000000015e+0"
Expected: "1.0000000000000001"
Received: "1.0000000000000001e+0"
Expected: "-1.0000000000000001"
Received: "-1.0000000000000001e+0"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000002"
Received: "1.00000000000000000000000000000002e-1"
Expected: "0.100000000000000000000000000000002"
Received: "1.00000000000000000000000000000002e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000002"
Received: "-1.00000000000000000000000000000002e-1"
Expected: "-0.100000000000000000000000000000002"
Received: "-1.00000000000000000000000000000002e-1"
Expected: "0.999999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e-1"
Expected: "9.99999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e+0"
Expected: "-0.999999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e-1"
Expected: "-9.99999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e+0"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "0.999999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e-1"
Expected: "0.999999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e-1"
Expected: "0.999999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e-1"
Expected: "9.99999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e+0"
Expected: "9.99999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e+0"
Expected: "9.99999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e+0"
Expected: "-0.999999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e-1"
Expected: "-0.999999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e-1"
Expected: "-0.999999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e-1"
Expected: "-9.99999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e+0"
Expected: "-9.99999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e+0"
Expected: "-9.99999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e+0"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000002"
Received: "1.00000000000000000000000000000002e-1"
Expected: "0.100000000000000000000000000000002"
Received: "1.00000000000000000000000000000002e-1"
Expected: "0.100000000000000000000000000000002"
Received: "1.00000000000000000000000000000002e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.999999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e-1"
Expected: "-0.999999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e-1"
Expected: "-0.999999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e-1"
Expected: "-9.99999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e+0"
Expected: "-9.99999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e+0"
Expected: "-9.99999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e+0"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000002"
Received: "-1.00000000000000000000000000000002e-1"
Expected: "-0.100000000000000000000000000000002"
Received: "-1.00000000000000000000000000000002e-1"
Expected: "-0.100000000000000000000000000000002"
Received: "-1.00000000000000000000000000000002e-1"
Expected: "0.999999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e-1"
Expected: "0.999999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e-1"
Expected: "0.999999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e-1"
Expected: "9.99999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e+0"
Expected: "9.99999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e+0"
Expected: "9.99999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e+0"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000002"
Received: "1.00000000000000000000000000000002e-1"
Expected: "0.100000000000000000000000000000002"
Received: "1.00000000000000000000000000000002e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000002"
Received: "-1.00000000000000000000000000000002e-1"
Expected: "-0.100000000000000000000000000000002"
Received: "-1.00000000000000000000000000000002e-1"
Expected: "0.999999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e-1"
Expected: "9.99999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e+0"
Expected: "-0.999999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e-1"
Expected: "-9.99999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e+0"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000001"
Received: "1.00000000000000000000000000000001e-1"
Expected: "0.100000000000000000000000000000002"
Received: "1.00000000000000000000000000000002e-1"
Expected: "0.100000000000000000000000000000002"
Received: "1.00000000000000000000000000000002e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000001"
Received: "-1.00000000000000000000000000000001e-1"
Expected: "-0.100000000000000000000000000000002"
Received: "-1.00000000000000000000000000000002e-1"
Expected: "-0.100000000000000000000000000000002"
Received: "-1.00000000000000000000000000000002e-1"
Expected: "0.999999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e-1"
Expected: "9.99999999999999999999999999999999"
Received: "9.99999999999999999999999999999999e+0"
Expected: "-0.999999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e-1"
Expected: "-9.99999999999999999999999999999999"
Received: "-9.99999999999999999999999999999999e+0"Reproduce:
|
|
Thank you! I'll take a look. |
|
I've updated things somewhat, so this rounding behavior should be resolved. Can you take another look? |
A work in-progress draft for fixing
roundTodo:
Summary
pending
Related to
jessealama/decimal128#116
How is this tested?
See updated tests for
round