mirror of
https://github.com/shopspring/decimal.git
synced 2024-11-22 12:30:49 +01:00
parent
77e6b496f6
commit
4b9150b187
2 changed files with 30 additions and 0 deletions
|
@ -262,6 +262,15 @@ func (d Decimal) Sub(d2 Decimal) Decimal {
|
|||
}
|
||||
}
|
||||
|
||||
// Neg returns -d.
|
||||
func (d Decimal) Neg() Decimal {
|
||||
val := new(big.Int).Neg(d.value)
|
||||
return Decimal{
|
||||
value: val,
|
||||
exp: d.exp,
|
||||
}
|
||||
}
|
||||
|
||||
// Mul returns d * d2.
|
||||
func (d Decimal) Mul(d2 Decimal) Decimal {
|
||||
d.ensureInitialized()
|
||||
|
|
|
@ -620,6 +620,27 @@ func TestDecimal_Sub(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestDecimal_Neg(t *testing.T) {
|
||||
inputs := map[string]string{
|
||||
"0": "0",
|
||||
"10": "-10",
|
||||
"5.56": "-5.56",
|
||||
"-10": "10",
|
||||
"-5.56": "5.56",
|
||||
}
|
||||
|
||||
for inp, res := range inputs {
|
||||
a, err := NewFromString(inp)
|
||||
if err != nil {
|
||||
t.FailNow()
|
||||
}
|
||||
b := a.Neg()
|
||||
if b.String() != res {
|
||||
t.Errorf("expected %s, got %s", res, b.String())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestDecimal_Mul(t *testing.T) {
|
||||
type Inp struct {
|
||||
a string
|
||||
|
|
Loading…
Reference in a new issue