mirror of
https://github.com/golang/go
synced 2024-11-12 05:40:22 -07:00
cmd/compile: give mparith{2,3}.go files more meaningful names
Also, relocate related const and type definitions from go.go. Change-Id: Ieb9b672da8dd510ca67022b4f7ae49a778a56579 Reviewed-on: https://go-review.googlesource.com/20080 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Dave Cheney <dave@cheney.net> Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
a6c95ae1df
commit
35dd2ed58d
@ -6,7 +6,6 @@ package gc
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"cmd/compile/internal/big"
|
||||
"cmd/internal/obj"
|
||||
)
|
||||
|
||||
@ -17,32 +16,6 @@ const (
|
||||
MaxStackVarSize = 10 * 1024 * 1024
|
||||
)
|
||||
|
||||
const (
|
||||
// Maximum size in bits for Mpints before signalling
|
||||
// overflow and also mantissa precision for Mpflts.
|
||||
Mpprec = 512
|
||||
// Turn on for constant arithmetic debugging output.
|
||||
Mpdebug = false
|
||||
)
|
||||
|
||||
// Mpint represents an integer constant.
|
||||
type Mpint struct {
|
||||
Val big.Int
|
||||
Ovf bool // set if Val overflowed compiler limit (sticky)
|
||||
Rune bool // set if syntax indicates default type rune
|
||||
}
|
||||
|
||||
// Mpflt represents a floating-point constant.
|
||||
type Mpflt struct {
|
||||
Val big.Float
|
||||
}
|
||||
|
||||
// Mpcplx represents a complex constant.
|
||||
type Mpcplx struct {
|
||||
Real Mpflt
|
||||
Imag Mpflt
|
||||
}
|
||||
|
||||
type Val struct {
|
||||
// U contains one of:
|
||||
// bool bool when n.ValCtype() == CTBOOL
|
||||
|
@ -13,6 +13,25 @@ import (
|
||||
|
||||
// implements float arithmetic
|
||||
|
||||
const (
|
||||
// Maximum size in bits for Mpints before signalling
|
||||
// overflow and also mantissa precision for Mpflts.
|
||||
Mpprec = 512
|
||||
// Turn on for constant arithmetic debugging output.
|
||||
Mpdebug = false
|
||||
)
|
||||
|
||||
// Mpflt represents a floating-point constant.
|
||||
type Mpflt struct {
|
||||
Val big.Float
|
||||
}
|
||||
|
||||
// Mpcplx represents a complex constant.
|
||||
type Mpcplx struct {
|
||||
Real Mpflt
|
||||
Imag Mpflt
|
||||
}
|
||||
|
||||
func newMpflt() *Mpflt {
|
||||
var a Mpflt
|
||||
a.Val.SetPrec(Mpprec)
|
@ -10,7 +10,14 @@ import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
/// implements fix arithmetic
|
||||
// implements integer arithmetic
|
||||
|
||||
// Mpint represents an integer constant.
|
||||
type Mpint struct {
|
||||
Val big.Int
|
||||
Ovf bool // set if Val overflowed compiler limit (sticky)
|
||||
Rune bool // set if syntax indicates default type rune
|
||||
}
|
||||
|
||||
func mpsetovf(a *Mpint) {
|
||||
a.Val.SetUint64(1) // avoid spurious div-zero errors
|
Loading…
Reference in New Issue
Block a user