Decimals v0.5.0
This version, 0.5.0
, brings huge changes, some of which are breaking.
All of the supported arithmetic operations have been rewritten in order to comply with the decimal floating-point standard. Correctness of the new implementation is supported by a large test suite ("dectests").
The user facing changes are the following:
- conversions between
Decimal
and numbers from Base has changed - parsing
Decimal
s from strings has changed (and is now more complete) - the arguments of
normalize
andround
functions are different - users can set so-called context to change the precision (which used to be constant), rounding mode, and minimum/maximum exponent
The current state is described in the new documentation webpage available at http://juliamath.github.io/Decimals.jl/.
Merged pull requests:
- enable dependabot for GitHub actions (#54) (@ranocha)
- MassInstallAction: Install the CompatHelper workflow on this repository (#58) (@DilumAluthge)
- fix
parse(Decimal, "1e0")
(#59) (@oscardssmith) - add CI (#60) (@oscardssmith)
- Fix addition (#63) (@barucden)
- Bump julia-actions/setup-julia from 1 to 2 (#64) (@dependabot[bot])
- Bump the LTS version for CI (#65) (@barucden)
- Clean-up (#66) (@barucden)
- Create tagbot.yml (#67) (@ViralBShah)
- Update ci.yml (#68) (@ViralBShah)
- Update README.md to remove travis badge (#69) (@ViralBShah)
- Implement
Base.cmp
(#70) (@barucden) - Reworked parsing & conversion (#71) (@barucden)
- Initial hashing support (#72) (@barucden)
- iszero, isfinite, isnan (#73) (@barucden)
@dec_str
macro (#74) (@barucden)- Context (#75) (@barucden)
- DecTests: script and documentation (#76) (@barucden)
Base.abs
: implement and add tests (#77) (@barucden)Base.string
: use scientific notation (#78) (@barucden)- Cache some
BigInt
s (#79) (@barucden) - Addition: dectests + implementation (#80) (@barucden)
- Subtraction: dectests + implementation (#81) (@barucden)
- Multiply: implementation + dectests (#82) (@barucden)
- Min/Max: implementation and dectests (#83) (@barucden)
- Divide: implementation + dectest (#84) (@barucden)
- Fix conversion from floats (#86) (@barucden)
- Hashing: Fix factor cancelation (#87) (@barucden)
- Normalization and rounding (#88) (@barucden)
- Docs: Add documentation page (#90) (@barucden)
- Dectests (#91) (@barucden)
- Bump version (#94) (@barucden)
- Dectests: Fix
scripts/dectest.jl
(#95) (@barucden)
Closed issues:
- Standard test cases (#4)
- Some problems with dots (#20)
- parse underscores (#26)
- significant digits rounding (#27)
- Decimal not usable as Dict key: no hash method defined (#35)
Rounded
option in thenormalize
function (#36)- Unclear option
normal
inround
function (#39) - Get rid of sign bit? (#44)
- Constructor loses precision when parsing small numbers expressed in scientific notation ("e" format). (#45)
- rounding failures (#50)
- hash(::Decimal) fails (#51)
- Conversion of scientific floats (#53)
- Incorrect division of large numbers (#56)
- Should this library be deprecated? (#61)
- Wrong result when adding two decimals (#62)
- Inexact construction of Decimal from float (#85)