Don Clugston
ab1b7d621a
5654 BigInt returns ZERO with strings of single digit number with leading zeros
...
A straightforward bug.
2011-03-26 15:20:14 -07:00
donc
69d8b2e514
Fix Bigint unittest failure
...
Ensure the new, harsher function preconditions for recursiveDivMod are
satisfied when called from blockDivMod.
2011-02-25 00:08:59 +08:00
Don Clugston
9ecf947290
5568 A problem with BigInt modulus
...
This is quite subtle. The recursive division algorithm has a possibility of one
bit of overflow in the second recursive call, in cases where the top quarter of
the dividend is identical to the top half of the divisor.
The description of the recursive division algorithm in "Modern Computer
Arithmetic" 0.5.9 is rather vague about this (which is why I missed it
originally, though the test case does cause assert failure in biguint).
Unfortunately it requires fairly substantial changes to the function, which
makes the algorithm a lot less elegant. But I have managed to implement it
without any change to the basic division algorithm (which is very fast).
2011-02-23 21:20:48 +01:00
Don Clugston
dd4f4a1827
Fix code indentation for biguintcore
...
This commit changes code formatting only. No changes to code.
2011-02-18 22:15:35 +01:00
Don Clugston
6b0a96289e
5608 BigInt(1)-1 problem
...
A stupid typo.
2011-02-18 20:59:53 +01:00
Don Clugston
eb9eb0c01c
Bigint fromDecimal: remove leading zeros after conversion
...
For very large numbers, the estimated length can be an overestimate by more
than 1 BigDigit. This could cause the BigUint invariant to fail.
2011-02-18 10:07:11 +01:00
Don Clugston
1afd555921
pure/nothrow internal compatibility for BigInt. (Not yet marked as such).
2010-11-12 08:10:27 +00:00
Don Clugston
9d7622586a
Fix for BigInt assign for 64 bit compilers. Also a few steps towards const correctness, and some comment fixes.
2010-10-25 07:30:38 +00:00
Don Clugston
b929dcf0ec
Fix bug 4742 int % BigInt should work.
...
Also improved code formatting.
2010-09-21 01:49:44 +00:00
Don Clugston
3c369fa19e
4872 std.bigint problem with negative numbers
...
This one made bigint unusable.
2010-09-15 22:06:34 +00:00
Walter Bright
b8ce58ccd1
detab sources
2010-08-23 02:14:45 +00:00
Andrei Alexandrescu
3f2b8c12ea
64-bit compatibility work
2010-08-22 20:55:22 +00:00
Don Clugston
98aec1ce64
Reinstated bigint unit tests. Please confirm that these pass on OSX with DMD2.048.
2010-08-11 14:50:06 +00:00
Andrei Alexandrescu
4f27b04a06
Commented out failing asserts when unittesting under OSX. Don, could you please verify?
2010-07-28 07:51:52 +00:00
Don Clugston
2b6b4aff56
Fix bug 4470 Problems with std.bigint mod and divide
2010-07-17 06:26:24 +00:00
Don Clugston
ac02c8922f
Fix bug 4452: Incorrect result of BigInt ^^ long
2010-07-14 06:59:38 +00:00
Sean Kelly
f036f4ddcb
Set native eol-style for some files that didn't have it.
2010-07-06 19:16:04 +00:00
Don Clugston
33ee9fbaaf
B sting: a&b==c bug.
2010-06-21 20:21:26 +00:00
Don Clugston
07b8f99d2f
Removed workaround for compiler bug 3896, which is now fixed.
2010-06-08 19:35:10 +00:00
Don Clugston
9b8fec0f82
Oops -- I forgot that this bug has only been fixed in my version of DMD <g>.
2010-03-24 21:20:47 +00:00
Don Clugston
0a8a8a39c5
High-performance BigInt, initial release. Posix makefile has not yet been updated.
2010-03-24 21:13:24 +00:00