Allow 1 ULP of error in exp, ln, log10 and power GDA tests#152
Open
rdingwall wants to merge 2 commits intoericlagergren:masterfrom
Open
Allow 1 ULP of error in exp, ln, log10 and power GDA tests#152rdingwall wants to merge 2 commits intoericlagergren:masterfrom
rdingwall wants to merge 2 commits intoericlagergren:masterfrom
Conversation
In the GDA arithmetic specification, inexact exp, ln, log10 and power operations may be up to 1 ulp (unit in last place) in error.
e486b12 to
e65a659
Compare
rdingwall
commented
May 28, 2020
| if isInexact(z) && allow1ULPError[c.Op] && equalWithin1ULP(z, r) { | ||
| s = append(s, "passed within 1 ULP") | ||
| } | ||
| t.Log(strings.Join(s, "\n"), "\n") |
Collaborator
Author
There was a problem hiding this comment.
I refactored this string builder from one fmt.Sprintf() into strings.Join() to preserve test output (but have the ability to insert the optional ULP line in the middle)
| if !x.IsFinite() || !y.IsFinite() { | ||
| return false | ||
| } | ||
| formX, negX, coeffX, expX := x.Decompose(make([]byte, 2<<3)) |
Owner
There was a problem hiding this comment.
Off hand (I haven’t tested it yet, or had my coffee :-), I’m not sure if this is accurate. [123, -2] and [1234, -3] should compare equal within 1 ULP, but would fail here since their exponents differ.
Owner
There was a problem hiding this comment.
Hey @rdingwall, apparently I had added this comment (one year ago!) but never actually clicked “submit” on the review. Sorry for that. I only noticed when I got the email that you’d rebased!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In the GDA arithmetic specification, inexact exp, ln, log10 and power operations may be up to 1 ulp (unit in last place) in error: http://speleotrove.com/decimal/daops.html