-
Notifications
You must be signed in to change notification settings - Fork 18k
math/cmplx: TestAtan and friends failing on several platforms #35443
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
Comments
/cc @billotosyr for the s390x failures. I'll try disabling the s390x vector implementations of |
Change https://golang.org/cl/206037 mentions this issue: |
for s390x
The first failures are due to the test being too strict for checking the value of The failures on Log are actually a discrepancy in s390x handling of Log(x) == complex(math.Log(Abs(x)), Phase(x)) == complex(math.Log(Abs(x)), math.Atan2(imag(x), real(x)) so the issue is that Note C99 Annex F. 9.1.4 specifies: atan2(±y,+∞) returns ± 0 for finite y>0. But the go documentation for math.Atan2 doesn't actually specify the sign.
However, the pure go implementation matches the C99 handling of the sign of zero. The mips failures
are due to errors in the test code with respect to NaN sign handling. The tests have cases that check f(x) == f(-x) for appropriate functions, but -x does not necessarily change the sign bit of NaN and The two issues with the test code are easy fixes, but a decision should be made about the Atan2 special case that disagrees between the Go documentation (s390x implementation) and the C99 standard (pure go implementation). |
These tests started failing on several platforms as of https://go-review.googlesource.com/c/go/+/169501.
The following platforms are definitely failing:
There may be more, but these are the most visible to me.
@griesemer @bmkessler
The text was updated successfully, but these errors were encountered: