Chad Skeeters
af136c8569
Updates MarshalYAML interface to use 'any'
...
Co-authored-by: ccoVeille <3875889+ccoVeille@users.noreply.github.com>
2024-11-11 10:30:39 -06:00
Chad Skeeters
f20d7c4b90
Updates comment to comply with go doc
...
Co-authored-by: ccoVeille <3875889+ccoVeille@users.noreply.github.com>
2024-11-11 10:30:00 -06:00
Chad Skeeters
161f04f87d
Adds MarshalYAML for marshaling yaml
...
Adds MarshalYAMLWithoutQuotes for marshaling Decimal without quotes
2024-11-04 08:45:51 -06:00
Philip Dubé
dd603cbbbd
Support scanning uint64 ( #364 )
2024-04-12 15:35:56 +02:00
Egor Seredin
80ec940054
Add NewFromUint64 constructor ( #352 )
2024-04-08 16:38:20 +02:00
Philip Dubé
645a76e5b0
Optimize BigInt ( #359 )
2024-04-05 21:43:23 +02:00
Philip Dubé
bf7794e1a8
Optimize NumDigits method ( #356 )
2024-04-04 16:14:38 +02:00
Philip Dubé
547861c49b
Avoid reallocation of initial slice in MarshalBinary (GobEncode) ( #355 )
2024-04-03 22:12:19 +02:00
Mateusz Woś
78289cc844
Add improved implementation of power operation ( #358 )
...
* Adjust Pow implementation
* Add PowWithPrecision method
* Add PowInt32 method
* Add PowBigInt method
2024-04-03 00:16:27 +02:00
Mateusz Woś
2b68c56fe0
Adjust Ln method to prevent infinity iteration loops ( #357 )
...
* Adjust Ln method to prevent infinity iteration loops
* Add test case for infinity loop
2024-04-01 22:02:25 +02:00
Dovydas
d00399e161
Add NewFromBigRat constructor ( #288 )
2024-02-19 23:13:43 +01:00
Andrei Tudor Călin
57a340d853
Add Compare method which forwards calls to Cmp ( #346 )
...
Given the interface definition
type Ordered[T any] interface {
Compare(T) int
}
And the type constraint T Ordered[T], make decimal.Decimal satisfy this
constraint, so that generic code written against T Ordered[T] can work
with decimal values as smoothly as it works with time.Time values today.
Fixes : #345
2024-01-24 23:48:15 +01:00
Chris Belsole
b79c571f80
Removed unnecessary min function for RescalePair method ( #265 )
...
Co-authored-by: Chris Belsole <chris.belsole@homelight.com>
2024-01-15 20:56:38 +01:00
Frank
b844c58a71
Fix overflow edge case in QuoRem method ( #322 )
2024-01-15 20:52:54 +01:00
Feras AlSaffar
142a0cf2f2
Use Godoc standard to mark deprecated Equals and StringScaled methods( #342 )
2024-01-15 20:50:05 +01:00
zlasd
7b4ffbcd3c
Fix mod when the divisor is slightly greater than the half of dividend ( #312 ) ( #317 )
2024-01-10 02:08:45 +01:00
zlasd
1df8fb3015
Ensure empty Decimal returns correct zero-value NumDigits ( #301 )
2023-12-31 13:11:33 +01:00
Jongmin Kim
572d78e32d
Fix examples for RoundDown, RoundFloor, RoundUp, and RoundCeil ( #341 )
2023-12-29 18:47:57 +01:00
Mateusz Woś
12e9241da2
Add implementation of natural logarithm ( #339 )
...
* Add initial implementation of natural logarithm
* Add constApproxmation struct to represent mathematical constants with their approximations
2023-12-29 01:59:48 +01:00
mwoss
88705b71ce
Reformat documentation to current go standard
2023-12-28 21:05:09 +01:00
Vadim Kulagin
6926256b71
Allocate new(big.Int) in Copy method to deeply clone it ( #278 )
2023-12-27 15:53:43 +01:00
Mateusz Woś
fa3b22f4d4
Fix incorrect calculation of decimal modulo ( #258 )
2021-10-21 11:22:23 +02:00
lmittmann
bc96f543c2
Reduce memory allocation in case of initialization from big.Int ( #252 )
...
* reduced allocs in NewFromBigInt(...) from 3 -> 2
* remaining `big.NewInt(0).Set(...)` -> `new(big.Int).Set(...)`
2021-10-20 13:11:07 +02:00
Gaylor Bosson
cd57bf11a4
Fix binary marshalling of decimal zero value ( #253 )
...
* Fix binary marshalling of zero value
* Adapt the error message of BinaryUnmarshal
2021-10-20 12:49:41 +02:00
Mateusz Woś
283b007e5f
Reformat code base and update decimal copy docs ( #249 )
2021-10-12 12:11:39 +02:00
Ruben de Vries
3259e0a2de
Add NewNullDecimal init method ( #234 )
2021-10-12 11:07:45 +02:00
Ilya Glukhov
013e52d4e9
Add Copy func ( #123 )
...
* Add Copy method
Co-authored-by: habuvo <Sin90is0>
2021-10-12 02:17:36 +02:00
Mateusz Woś
46544472a5
Add implementation of natural exponent function (Taylor, Hull-Abraham) ( #229 )
...
* Add implementation of natural exponent function (Taylor, Hull-Abraham)
* Update docs
* Improve docs, handle multithreading race condition in exp method
2021-10-11 18:39:38 +02:00
Mateusz Woś
b11a7c46d7
Add implementation of CoefficientInt64 method ( #244 )
...
* Add implementation of CoefficientInt64 method
2021-09-10 15:48:44 +02:00
Denis
483a047db9
Improve performance of Abs() and Round() ( #240 )
2021-09-09 13:03:13 +02:00
James Harris
cc4584f0a5
Add slice range checks to UnmarshalBinary()
( #232 )
...
* Add slice range checks to `UnmarshalBinary()`.
* Avoid use of `%w` verb with `Errorf()` for compatibility with older Go versions.
2021-06-23 00:24:56 +02:00
Felipe Neuwald
501661573f
Add InexactFloat64 method ( #205 )
...
* Add func (d Decimal) MustFloat64()
* renames MustFloat64 to InexactFloat64
2021-03-30 01:12:37 +02:00
Vu Long (Drake)
f77bb07828
Modify Rounding methods ( #220 )
...
* Change function name from RoundUp -> RoundCeil, RoundDown -> RoundFloor
* Add a new RoundUp and RoundDown methods
* Modify the docs of RoundUp and RoundDown
2021-03-14 22:09:56 +01:00
Bharath Ramesh
9328d16578
Added XML support for NullDecimal ( #192 )
...
* Added UnmarshalText and MarshalText support for NullDecimal
* Add tests for XML operations on NullDecimal
2021-02-18 23:32:50 +01:00
Vu Long (Drake)
99f4d74cf2
Fix wrong return RoundUp/RoundDown because of value after rescaled is ignore ( #202 )
2021-01-18 00:50:46 +01:00
nknordeen
0cada0bdfe
optimize NewFromString a bit ( #198 )
...
* optimize NewFromString a bit
* add benchmark for large number
Co-authored-by: Nicholas Nordeen <nnordeen@fanatics.com>
2021-01-09 23:15:12 -05:00
Mateusz Woś
8bd41ac55d
Implement RoundUp and RoundDown methods ( #196 )
...
* Implement RoundUp and RoundDown methods
2020-12-11 13:41:11 -05:00
Mateusz Woś
ebbf8bbe36
Implement new initialization function - NewFromFormattedString ( #184 )
...
* Implement new initialization function - NewFromFormattedString
* Redefine docstring
2020-09-14 19:29:03 +02:00
mwoss
5a22b86679
Fix documentation in RoundBank method
2020-08-20 23:47:45 +02:00
Mateusz Woś
6fe01c1abd
Implement IsInteger method ( #179 )
2020-07-01 01:20:32 +02:00
Mateusz Woś
480f653de8
Update documentation, clean up package level documentation ( #173 )
...
* Update documentation, clean up package level documentation
2020-04-27 22:35:36 -04:00
Mateusz Woś
c939845a68
Improve go report cards score ( #174 )
...
* Improve go report cards score
2020-04-27 02:03:21 -04:00
Mateusz Woś
1884f454f8
Add new helper methods: BigInt, BigFloat ( #171 )
...
* Add new helper methods: BigInt, BigFloat
* Add few tests cases showing loss of precision after casting
2020-04-20 00:29:39 +02:00
Jason Biegel
02e2044944
Revert remove insignificant digits ( #159 )
...
* revert original remove insignificant change (PR 46), and add the logic back as a function
2020-02-27 15:28:07 -05:00
Jason Biegel
6c07c6ca86
remove 15 interval RoundCash ( #166 )
...
* remove 15 interval RoundCash
* update function doc
* Remove comments and benchmark referring interval 15
Co-authored-by: Mateusz Woś <wos.mateusz16@gmail.com>
2020-02-25 19:44:03 -05:00
Mateusz Woś
408a2507e1
Remove unnecessary decimal rescaling - memory usage optimization ( #160 )
...
* Remove unnecessary decimal rescaling
* Move benchmarks to separate file, add new benchmark tests
2020-01-06 00:12:15 +01:00
Jason Biegel
96defcb63c
Run go fmt ( #162 )
2020-01-05 15:46:53 +01:00
Mathieu Post
bc70c3beb9
Add NewFromInt and NewFromInt32 ( #72 )
...
Add NewFromInt and NewFromInt32
2019-11-29 00:17:06 -05:00
Jason Biegel
f1972eb1d1
Merge pull request #137 from lantw44/master
...
Fix decoding of .0
2019-10-08 22:57:16 -04:00
coldWater
62587fc365
fix: Coefficient panic
...
call Coefficient on uninitialized Decimal will panic
2019-06-17 18:13:00 +08:00