- Implemented
Mean
,Decimal.Pow
,Decimal.Log2
,Decimal.Log10
.
Due to wrong behaviour of some database drivers, the following changes were made:
Decimal.MarshalBinary
produces the same output asDecimal.MarshalText
.Decimal.UnmarshalBinary
expects the same input asDecimal.UnmarshalText
.
All BCD encoding related code was removed.
- Implemented
Sum
,Prod
.
- Implemented
Decimal.Log
.
Decimal.PowInt
always correctly rounds the result.
- Implemented
Decimal.SubMul
,Decimal.SubQuo
,Decimal.Equal
,Decimal.Less
.
- Implemented
Decimal.AddMul
,Decimal.AddQuo
,Decimal.Exp
.
- Bumped go version to 1.22.
- Deprecated
Decimal.FMA
.
- Improved
Decimal.Sqrt
andDecimal.QuoRem
performance.
- Implemented
Decimal.Sqrt
.
Decimal.Pad
,Decimal.Rescale
, andDescimal.Quantize
do not return errors anymore.
- Implemented binary marshaling.
- Bumped go version to 1.21.
- Improved documentation.
- Improved documentation.
- Supported MySQL in
Decimal.Scan
. - Added examples for XML marshaling.
- Optimized parsing performance for long strings.
- Improved documentation.
- Eliminated heap allocations in big.Int arithmetic.
- Improved documentation.
- Improved table formatting in documentation.
- Improved examples and documentation.
- Implemented
Decimal.SameScale
.
- Improved examples and documentation.
- Improved examples and documentation.
- Improved test coverage.
- Improved examples and documentation.
- Improved examples and documentation.
- Implemented
NullDecimal
type.
- Improved accuracy of
Decimal.PowInt
for negative powers. - Reviewed and improved documentation.
- Implemented
Decimal.Clamp
.
- Reviewed and improved documentation.
- Implemented
Decimal.SubAbs
,Decimal.CmpAbs
,Decimal.Inv
. - Added
Decimal.Pi
,Decimal.E
,Decimal.NegOne
,Decimal.Two
,Decimal.Thousand
.
- Reviewed descriptions of rounding methods.
- Reviewed error descriptions.
- Improved accuracy of
Decimal.PowInt
.
- Enabled
gocyclo
linter.
- Implemented
Decimal.Scan
andDecimal.Value
.
Decimal.CopySign
treats 0 as a positive.- Enabled
gosec
,godot
, andstylecheck
linters.
- Implemented
NewFromFloat64
. - Added fuzzing job to continuous integration.
NewFromInt64
can round to nearest if coefficient is too large.
- Implemented
NewFromInt64
.
- Implemented scale argument for
Decimal.Int64
.
Rescale
,ParseExact
,MulExact
,AddExact
,FMAExact
, andQuoExact
return error if scale is out of range.
New
returns error if scale is out of range.
- All methods now return errors, instead of panicking.
- Implemented
Decimal.Pad
. - Renamed
Decimal.Round
toDecimal.Rescale
. - Renamed
Decimal.Reduce
toDecimal.Trim
.
- Testing on Windows.
- Testing on Windows and macOS.
- Improved documentation.
- Implemented
Decimal.Int64
,Decimal.Float64
.
- Reviewed and improved documentation.
- Reviewed and improved documentation.
- Improved continuous integration.
- Implemented
Decimal.One
,Decimal.Zero
.
- Reduced memory consumption.
- Renamed
Decimal.LessThanOne
toDecimal.WithinOne
.
- Removed
Decimal.WithScale
.
- Simplified
Decimal.Quo
.
- Implemented
Decimal.CopySign
.
- Implemented
Decimal.ULP
.
- Polish notation calculator example.
- Benchmarks statistics.
- Fixed index out of range in
Parse
. - Rounding error in
Decimal.Quo
.
- Removed errors from public API.
- Renamed
Decimal.Fma
toDecimal.FMA
.
- Implemented
Decimal.Fma
.
- Initial version.