diff options
Diffstat (limited to 'src/cmd/compile/internal/gc/mpfloat.go')
| -rw-r--r-- | src/cmd/compile/internal/gc/mpfloat.go | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cmd/compile/internal/gc/mpfloat.go b/src/cmd/compile/internal/gc/mpfloat.go index ca290d70d5..72cc540556 100644 --- a/src/cmd/compile/internal/gc/mpfloat.go +++ b/src/cmd/compile/internal/gc/mpfloat.go @@ -116,11 +116,11 @@ func (a *Mpflt) Cmp(b *Mpflt) int { return a.Val.Cmp(&b.Val) } -func (b *Mpflt) CmpFloat64(c float64) int { - var a Mpflt - - a.SetFloat64(c) - return b.Cmp(&a) +func (a *Mpflt) CmpFloat64(c float64) int { + if c == 0 { + return a.Val.Sign() // common case shortcut + } + return a.Val.Cmp(big.NewFloat(c)) } func (a *Mpflt) Float64() float64 { |
