mirror of
https://github.com/golang/go
synced 2024-11-17 09:04:44 -07:00
internal/fuzz: fix TestUnmarshalMarshal on MIPS
Previous value used in the float32 roundtrip used float32(math.NaN())-1 which caused the quiet/signal bit to flip, which seemed to break the test on MIPS platforms. Instead switch to using float32(math.NaN())+1, which preserves the bit and makes the test happy. Possibly related to #37455 Fixes #51258 Change-Id: Ia85c649e89a5d02027c0ec197f0ff318aa819c19 Reviewed-on: https://go-review.googlesource.com/c/go/+/390214 Trust: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Trust: Roland Shoemaker <roland@golang.org> Run-TryBot: Roland Shoemaker <roland@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
d1820f748f
commit
63bd6f68e6
@ -104,6 +104,12 @@ float32(2.5)`,
|
||||
ok: true,
|
||||
},
|
||||
{
|
||||
// The two IEEE 754 bit patterns used for the math.Float{64,32}frombits
|
||||
// encodings are non-math.NAN quiet-NaN values. Since they are not equal
|
||||
// to math.NaN(), they should be re-encoded to their bit patterns. They
|
||||
// are, respectively:
|
||||
// * math.Float64bits(math.NaN())+1
|
||||
// * math.Float32bits(float32(math.NaN()))+1
|
||||
in: `go test fuzz v1
|
||||
float32(-0)
|
||||
float64(-0)
|
||||
@ -113,8 +119,8 @@ float32(NaN)
|
||||
float64(+Inf)
|
||||
float64(-Inf)
|
||||
float64(NaN)
|
||||
math.Float64frombits(9221120237041090560)
|
||||
math.Float32frombits(2143289343)`,
|
||||
math.Float64frombits(9221120237041090562)
|
||||
math.Float32frombits(2143289345)`,
|
||||
ok: true,
|
||||
},
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user