1
0
mirror of https://github.com/danog/math.git synced 2025-01-22 13:41:12 +01:00

76 Commits

Author SHA1 Message Date
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
Benjamin Morel
cdd6257fd0 Present rounding modes as a table 2015-01-27 17:57:57 +01:00
Benjamin Morel
4d18be75e1 Tests now run a single calculator instance at a time 2015-01-27 17:38:31 +01:00
Benjamin Morel
bdddaeaa8d Added uncovered files to code coverage 2015-01-27 14:53:17 +01:00