Andrei Alexandrescu
e54288b6b7
Merge pull request #1231 from Safety0ff/master
...
Fix std.BigInt bug #9548 plus other new discovered bugs.
2013-05-25 23:36:32 -07:00
Robert BuRnEr Schadek
cab595ec0f
bigint pure
...
the only exception is toString as it takes a delegate and this makes
things more tricky
2013-05-10 05:23:44 +02:00
Robert BuRnEr Schadek
0bf5632e80
Merge branch 'master' into bigintpure
...
Conflicts:
std/bigint.d
2013-05-09 06:40:26 +02:00
Robert BuRnEr Schadek
a686647f54
bigint purity
2013-05-09 06:24:26 +02:00
safety0ff
202d182152
Fix std.BigInt bug #9548 plus other new discovered bugs.
2013-04-08 23:24:30 -04:00
safety0ff
8ce364b44f
BigInt enhancement: add opCast!bool to BigInt (issue 4120)
2013-03-31 18:54:28 -04:00
safety0ff
835fca54e9
BigInt enhancement: make std.math.abs work with BigInt (issue 6486)
2013-03-31 18:54:15 -04:00
Andrej Mitrovic
7c616db71a
Fixes Issue 8837 - BigInt needs better operator constraints.
2013-02-04 22:06:41 +01:00
H. S. Teoh
47c7ade97e
Throw error upon division by zero.
...
Instead of trying to trigger an integer divide by zero, which seems to
get "optimized" out by the compiler.
2012-10-28 08:02:25 -07:00
Don Clugston
9881071c9d
Fix example in BigInt docs
...
The example didn't compile.
2012-07-19 10:55:44 +02:00
Don Clugston
8af55597ac
Fix typo
2012-07-12 09:21:32 +02:00
Don Clugston
5e7b33383a
Fix issue 7973 BigInt %= long/ulong gives wrong value
...
Previous fix only worked for const; this fixes immutable too.
2012-07-11 18:14:17 +02:00
Andrei Alexandrescu
609aefacf6
Merge pull request #642 from donc/bigint7993div
...
Bigint7993div
2012-07-01 19:50:17 -07:00
Don Clugston
2ab19e80a9
8165 BigInt opAssign return value
2012-06-22 07:24:53 +02:00
Don Clugston
15c655f1b5
Fix issue 8164 BigInt from char[] too
2012-06-22 07:05:06 +02:00
Don Clugston
5da45b213e
Fix issue 7973 BigInt %= long/ulong gives wrong value
2012-06-22 07:04:30 +02:00
Don Clugston
a79bb20ea7
Fix issue 7993 BigInt divide-by-1 error
...
Thanks to c.m.brandeburg for the fix.
2012-06-21 18:36:22 +02:00
Don Clugston
c5374753b2
Test case for 8022
2012-06-21 08:30:16 +02:00
Don Clugston
261889c656
Fix issue 8022 BigInt division bug (2)
2012-06-13 08:39:38 +02:00
Don Clugston
bd72ae7d36
Fix issue 8011 BigInt ++ and -- do wrong thing on negative numbers
...
Patch by Ary Borenszweig
2012-05-02 20:40:14 +02:00
k-hara
66e13b2c27
Revert "Revert "Merge pull request #120 from 9rnsr/rvalue-struct-literal""
...
This reverts commit 8a6bfd2529
.
2012-02-21 21:03:01 +09:00
Walter Bright
8a6bfd2529
Revert "Merge pull request #120 from 9rnsr/rvalue-struct-literal"
...
This reverts commit d780d9df0f
, reversing
changes made to c6ae86ca4f
.
2012-02-20 19:43:12 -08:00
k-hara
d3e1992d86
Add overloads for struct literal and construction that now make rvalue.
2012-01-23 23:41:45 +09:00
Don Clugston
d619dd513f
7078 BigInt.toInt returns a long
...
Just a silly typo
2011-12-08 09:24:12 +01:00
Don Clugston
c0b25d0903
6819 BigInt ^^ fails for some big numbers (powers)
...
I've also greatly improved the comments for pow.
2011-10-18 15:00:24 +02:00
k-hara
8c72ce5723
Make FormatError an Exception instead of an Error
2011-09-05 12:54:38 +09:00
k-hara
1673bc594e
fix sink to scope
2011-09-05 09:32:29 +09:00
k-hara
0e77b4c614
Change to selective import
2011-09-03 17:21:18 +09:00
k-hara
ac9b3d370c
Reduce module dependencies
2011-09-02 23:46:04 +09:00
k-hara
5f64c4d4a1
Add test for 6448
2011-09-02 21:16:11 +09:00
k-hara
f98145fc4d
Improve BigInt decimal and hexadecimal formatting
2011-09-02 20:56:40 +09:00
k-hara
11340b5a7b
formatString should be right format spec
2011-09-02 20:56:40 +09:00
k-hara
c5c1c0dbbf
detab/entab
2011-09-02 20:56:40 +09:00
jmdavis
302323559a
Revert "not really pure"
...
This reverts commit 4f28db6ffb
.
Since Walter put weakly pure back in, these changes need to be undone.
Conflicts:
std/datetime.d
2011-07-07 01:40:07 -07:00
Walter Bright
4f28db6ffb
not really pure
2011-06-25 19:58:09 -07:00
Don Clugston
9110377e42
5928 Bigint modulo problem
...
This problem was caused by an implicit conversion to ulong.
2011-05-06 07:30:07 +02: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
572c4a9b6e
Unit test for bug 5608
2011-02-18 22:20:57 +01:00
Don Clugston
80c64d92e4
Bigint toHex: Remove duplicate buffer
2011-02-18 09:35:51 +01:00
Walter Bright
046e1b36db
add source links
2011-02-06 15:46:50 -08:00
Don Clugston
5ede508f0e
Minor ddoc fixes for std.math and std.bigint
2010-11-17 20:42:28 +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
2b6b4aff56
Fix bug 4470 Problems with std.bigint mod and divide
2010-07-17 06:26:24 +00:00
Don Clugston
504b60eef7
Bug 4300. BigInt * int doesn't work well.
2010-06-10 21:43:55 +00:00
Masahiro Nakagawa
cad7d9a0dc
Fix old-style opOpAssign of std.bigint
2010-06-10 09:52:33 +00:00
Andrei Alexandrescu
bdc1516342
Fixed module name in bigint.d
2010-06-08 19:27:32 +00:00