@@ -133,7 +133,7 @@ Loop:
133
133
}
134
134
135
135
// BigInt returns significand as big.Int and exponent, bi * 10 ^ exp.
136
- func (d Decimal128 ) BigInt () (bi * big.Int , exp int , err error ) {
136
+ func (d Decimal128 ) BigInt () (* big.Int , int , error ) {
137
137
high , low := d .GetBytes ()
138
138
posSign := high >> 63 & 1 == 0 // positive sign
139
139
@@ -147,6 +147,7 @@ func (d Decimal128) BigInt() (bi *big.Int, exp int, err error) {
147
147
return nil , 0 , ErrParseNegInf
148
148
}
149
149
150
+ var exp int
150
151
if high >> 61 & 3 == 3 {
151
152
// Bits: 1*sign 2*ignored 14*exponent 111*significand.
152
153
// Implicit 0b100 prefix in significand.
@@ -169,7 +170,7 @@ func (d Decimal128) BigInt() (bi *big.Int, exp int, err error) {
169
170
return new (big.Int ), 0 , nil
170
171
}
171
172
172
- bi = big .NewInt (0 )
173
+ bi : = big .NewInt (0 )
173
174
const host32bit = ^ uint (0 )>> 32 == 0
174
175
if host32bit {
175
176
bi .SetBits ([]big.Word {big .Word (low ), big .Word (low >> 32 ), big .Word (high ), big .Word (high >> 32 )})
@@ -180,7 +181,7 @@ func (d Decimal128) BigInt() (bi *big.Int, exp int, err error) {
180
181
if ! posSign {
181
182
return bi .Neg (bi ), exp , nil
182
183
}
183
- return
184
+ return bi , exp , nil
184
185
}
185
186
186
187
// IsNaN returns whether d is NaN.
0 commit comments