math: discrepancy in Atan2 special case #35446
$ go version go version go1.13.4 linux/amd64
Does this issue reproduce with the latest release?
The special cases for
The pure go implementation actually conforms to C99 Annex F. 9.1.4 which specifies:
Specifically, the sign of zero depends on the sign of y, while the s390x implementation returns +0 for all values of y.
Note that this behavior affects special case handling of
A decision should be made on what the specification should state for the sign of zero in this case. I am not sure if updating the go specification to depend on the sign of y (C99) would be incompatible with the go compatibility promise since the current specification doesn't explicitly state that the sign should be positive. It seems that the majority implementation is already conforming to the C99 specification in any case.
In general the
I'm happy to add the