mirror of
https://github.com/shopspring/decimal.git
synced 2024-11-22 20:40:48 +01:00
Reformat code base and update decimal copy docs (#249)
This commit is contained in:
parent
3259e0a2de
commit
283b007e5f
2 changed files with 29 additions and 33 deletions
22
decimal.go
22
decimal.go
|
@ -414,6 +414,15 @@ func NewFromFloatWithExponent(value float64, exp int32) Decimal {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Copy returns a copy of decimal with the same value and exponent, but a different pointer to value.
|
||||||
|
func (d Decimal) Copy() Decimal {
|
||||||
|
d.ensureInitialized()
|
||||||
|
return Decimal{
|
||||||
|
value: &(*d.value),
|
||||||
|
exp: d.exp,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// rescale returns a rescaled version of the decimal. Returned
|
// rescale returns a rescaled version of the decimal. Returned
|
||||||
// decimal may be less precise if the given exponent is bigger
|
// decimal may be less precise if the given exponent is bigger
|
||||||
// than the initial exponent of the Decimal.
|
// than the initial exponent of the Decimal.
|
||||||
|
@ -1762,7 +1771,7 @@ func (d Decimal) Sin() Decimal {
|
||||||
sign = !sign
|
sign = !sign
|
||||||
j -= 4
|
j -= 4
|
||||||
}
|
}
|
||||||
z := d.Sub(y.Mul(PI4A)).Sub(y.Mul(PI4B)).Sub(y.Mul(PI4C)) // Extended precision modular arithmetic
|
z := d.Sub(y.Mul(PI4A)).Sub(y.Mul(PI4B)).Sub(y.Mul(PI4C)) // Extended precision modular arithmetic
|
||||||
zz := z.Mul(z)
|
zz := z.Mul(z)
|
||||||
|
|
||||||
if j == 1 || j == 2 {
|
if j == 1 || j == 2 {
|
||||||
|
@ -1893,14 +1902,3 @@ func (d Decimal) Tan() Decimal {
|
||||||
}
|
}
|
||||||
return y
|
return y
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy makes instance of d with same value and different pointer.
|
|
||||||
func (d Decimal) Copy() Decimal {
|
|
||||||
d.ensureInitialized()
|
|
||||||
return Decimal{
|
|
||||||
value: &(*d.value),
|
|
||||||
exp: d.exp,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -556,6 +556,22 @@ func TestNewFromBigIntWithExponent(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestCopy(t *testing.T) {
|
||||||
|
origin := New(1, 0)
|
||||||
|
cpy := origin.Copy()
|
||||||
|
|
||||||
|
if cpy.Cmp(origin) != 0 {
|
||||||
|
t.Error("expecting copy and origin to be equals, but they are not")
|
||||||
|
}
|
||||||
|
|
||||||
|
//change value
|
||||||
|
cpy = cpy.Add(New(1, 0))
|
||||||
|
|
||||||
|
if cpy.Cmp(origin) == 0 {
|
||||||
|
t.Error("expecting copy and origin to have different values, but they are equal")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestJSON(t *testing.T) {
|
func TestJSON(t *testing.T) {
|
||||||
for _, x := range testTable {
|
for _, x := range testTable {
|
||||||
s := x.short
|
s := x.short
|
||||||
|
@ -2803,7 +2819,7 @@ func TestDecimal_Coefficient(t *testing.T) {
|
||||||
|
|
||||||
func TestDecimal_CoefficientInt64(t *testing.T) {
|
func TestDecimal_CoefficientInt64(t *testing.T) {
|
||||||
type Inp struct {
|
type Inp struct {
|
||||||
Dec string
|
Dec string
|
||||||
Coefficient int64
|
Coefficient int64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3300,21 +3316,3 @@ func ExampleNewFromFloat() {
|
||||||
//0.123123123123123
|
//0.123123123123123
|
||||||
//-10000000000000
|
//-10000000000000
|
||||||
}
|
}
|
||||||
|
|
||||||
//For Copy
|
|
||||||
func TestCopy(t *testing.T) {
|
|
||||||
origin := New(1, 0)
|
|
||||||
cpy := origin.Copy()
|
|
||||||
|
|
||||||
if cpy.Cmp(origin) != 0 {
|
|
||||||
t.Error("copy and origin not equal")
|
|
||||||
}
|
|
||||||
|
|
||||||
//change value
|
|
||||||
cpy = cpy.Add(New(1, 0))
|
|
||||||
|
|
||||||
if cpy.Cmp(origin) == 0 {
|
|
||||||
t.Error("copy and origin are equal but expected not")
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue