Benjamin Morel
c1aa379479
BigNumber is now an abstract class
...
This allows the factorization of most comparison & sign functions in a single place.
Only `compareTo()` and `getSign()` are now abstract, the others methods are based on these two.
2015-06-20 13:37:10 +02:00
Benjamin Morel
5d65ef08cc
Comparison and sign methods are now part of the BigNumber interface
2015-06-20 13:25:55 +02:00
Benjamin Morel
2619c02fd6
Add __toString() to the BigNumber interface
2015-06-20 11:01:46 +02:00
Benjamin Morel
ade40b841b
Simplify the maxDecimalPlaces inferring code
2015-06-20 10:59:17 +02:00
Benjamin Morel
3195126bbe
Introduce a common interface for big numbers
...
Note that to accommodate the interface, BigDecimal::toBigInteger() does not accept a rounding mode any more.
2015-06-20 10:55:33 +02:00
Benjamin Morel
540ff57c0e
Add BigDecimal::dividedByExact()
2015-06-20 10:37:29 +02:00
Benjamin Morel
c4e2867049
CS fix: missing space
2015-06-20 00:36:21 +02:00
Benjamin Morel
8f296871f2
Add BigRational::toBigDecimal()
2015-06-20 00:36:01 +02:00
Benjamin Morel
f4e1f9b5ff
Add specific version for composer
2015-06-20 00:11:24 +02:00
Benjamin Morel
572247967d
Add precisions about scales
2015-06-19 22:06:31 +02:00
Benjamin Morel
7ef1c1fa0d
isFiniteDecimal() tests for negative values
2015-06-19 14:19:48 +02:00
Benjamin Morel
c9a518affc
Add BigRational::isFiniteDecimal()
2015-06-19 14:10:31 +02:00
Benjamin Morel
9a043bebf4
Add BigDecimal::toBigRational()
2015-06-19 13:09:44 +02:00
Benjamin Morel
6e3257fb93
Make RoundingMode non-instantiable
2015-06-18 09:06:30 +02:00
Benjamin Morel
ac691e01e5
Add BigDecimal::stripTrailingZeros()
0.4.2
2015-06-17 00:40:31 +02:00
Benjamin Morel
0a8b269952
README notes about BigRational
0.4.1
2015-06-13 00:14:37 +02:00
Benjamin Morel
095ae53a9b
BigRational now implements Serializable
...
This allows for a more compact serialized representation.
2015-06-12 23:35:34 +02:00
Benjamin Morel
b1239d9f44
Add tests for lines not covered
2015-06-12 23:07:22 +02:00
Benjamin Morel
38e7c83089
Add a BigRational class to deal with fractions
2015-06-12 15:49:35 +02:00
Benjamin Morel
1ff8b8b2d3
More notes about serializing
2015-06-12 12:59:24 +02:00
Benjamin Morel
5533b2aa36
Move rounding code from Calculator to BigDecimal
0.4.0
2015-06-12 10:25:09 +00:00
Benjamin Morel
cc30889769
BigInteger::dividedBy() now always returns the quotient
...
Rounding is a concept left to BigDecimal only from now on.
2015-06-12 10:25:00 +00:00
Benjamin Morel
115455238b
Clean up unused imports
2015-06-12 01:20:44 +02:00
Benjamin Morel
0dcae82742
Remove useless of() call in tests
2015-06-12 01:17:42 +02:00
Benjamin Morel
4f4b9531ed
Add BigInteger::gcd()
...
This computes the greatest common divisor of two large integers.
0.3.4
2015-06-11 23:35:47 +02:00
Benjamin Morel
1f577afe11
Add BigInteger::remainder() method
...
This allows to return the remainder of the division only.
2015-06-11 22:31:07 +02:00
Benjamin Morel
2c35d6fc5b
Fix negative numbers not supported by toString()
0.3.3
2015-06-08 00:12:50 +02:00
Benjamin Morel
de917b9e17
Add license badge
2015-06-07 15:18:07 +02:00
Benjamin Morel
427faf03dc
Reverted comment on HHVM
...
This component does not make use of typed variadics, so HHVM is already supported.
2015-06-07 15:06:25 +02:00
Benjamin Morel
e9da17c78d
Add getSign() method to BigInteger and BigDecimal
0.3.2
2015-06-07 14:48:49 +02:00
Benjamin Morel
2aabbe1a53
Missing division by zero test for BigDecimal::divideAndRemainder()
0.3.1
2015-06-05 22:19:20 +02:00
Benjamin Morel
536e6414e6
Performance optimizations
2015-06-05 22:17:20 +02:00
Benjamin Morel
e650137344
Replace call to max() function
...
This provides a slight performance improvement on PHP 5.
2015-06-05 10:35:36 +02:00
Benjamin Morel
b0a784c402
Add note about facebook/hhvm#4858 bug
2015-06-05 10:31:04 +02:00
Benjamin Morel
a93fc20205
Fix BigDecimal::dividedBy() example
2015-06-05 10:19:23 +02:00
Benjamin Morel
c642d0d0c9
Change Money::dividedBy() parameter order
0.3.0
2015-06-04 21:45:13 +02:00
Benjamin Morel
4f3095cca1
CS fixes
...
BigDecimal and BigInteger were mentioned using FQCN in some places, and short names in others; only short names are used now for consistency.
0.2.2
2015-06-04 12:18:26 +02:00
Benjamin Morel
908e73e8e4
unserialize() now throws an exception when called directly
...
This guarantees that immutability cannot be broken.
2015-06-04 12:14:42 +02:00
Benjamin Morel
53a61b46a7
Add BigDecimal::divideAndRemainder()
0.2.1
2015-06-02 22:08:56 +02:00
Benjamin Morel
4d7f27fb8b
Doc fix: negated and inverse are not the same thing
2015-06-02 21:10:58 +02:00
Benjamin Morel
4fbfdf4e74
Update license year
2015-05-31 18:49:21 +02:00
Benjamin Morel
d9b34f43d2
Remove useless director in Travis build
2015-05-31 18:46:28 +02:00
Benjamin Morel
49ea5a085e
Reworked Travis build matrix
...
Travis now supports merged code coverage reports, so we do not need to merge them ourselves.
0.2.0
2015-05-22 13:39:59 +02:00
Benjamin Morel
9ab6358fc2
min() and max() now use variadics
2015-05-22 13:19:08 +02:00
Benjamin Morel
d246c7b02d
Next version will require PHP 5.6
2015-05-22 13:12:06 +02:00
Benjamin Morel
1bd87f94ab
Travis no longer supports hhvm-nightly
...
See travis-ci/travis-ci#3788
2015-05-14 14:41:29 +02:00
Benjamin Morel
f8eb20049a
Added a reference script to run all tests
...
This script is also used by Travis.
2015-01-27 20:41:14 +01:00
Benjamin Morel
62fec07bfa
Reorganized tests around two PHPUnit config files
2015-01-27 20:16:53 +01:00
Benjamin Morel
1197dd2b81
Calculator detect test is now run separately
...
This avoids the risk of this test being run before the main tests, and overriding the calculator set by the bootstrap script.
2015-01-27 18:44:21 +01:00
Benjamin Morel
80b85d3859
Added precision about serialization
2015-01-27 18:00:31 +01:00