Commit graph

93 commits

Author SHA1 Message Date
Simen Kjærås
94489cb09c Fix name of bitwise operations 2013-12-17 12:54:35 +01:00
Simen Kjærås
c67cd90894 Added description of logical (bitwise) operations. 2013-12-14 19:59:25 +01:00
Simen Kjærås
56ab3796ce Merge branch 'master' of https://github.com/D-Programming-Language/phobos
Conflicts:
	std/bigint.d
2013-12-05 10:53:12 +01:00
H. S. Teoh
8f132413dd Fix issue 11583.
The problem is that the assumption that the first word of a BigUint is
always non-zero is false when BigUint == biguintcore.ZERO, which is
defined to be [0]. So we need to check for that case in
BigUint.opCmp(ulong).

Also, crash-proof BigUint's invariant, since it would cause an
out-of-bounds array access if a bug causes data.length==0.
2013-12-04 22:28:23 -08:00
H. S. Teoh
1945bcacf8 Fix issue 11600: to!BigInt(string) should validate input. 2013-11-27 18:43:06 -08:00
Simen Kjærås
6aea683103 Fix 8167 (identity constructor) and 9061 (bitwise ops) 2013-11-26 01:41:45 +01:00
Simen Kjærås
48ca747ddf Fixed wrong placement of unittest in pull 1679 2013-11-03 03:03:10 +01:00
Simen Kjærås
8dc07ba85e BigInt const (Fixes 11148 and parts of 11188) 2013-11-02 02:27:23 +01:00
k-hara
7fdd9e0630 More parenthesis fix 2013-08-08 04:12:10 +09:00
Hara Kenji
fc12f98267 Merge pull request #1402 from quickfur/bigint_hash
Fix issues 8435, 10118.
2013-07-22 17:44:24 -07:00
jmdavis
668087adb7 Fix for issue# 10680.
unsigned was moved to std.conv (with a deprecated alias left in
std.traits), but std.bigint was not updated accordingly. This fixes
that.
2013-07-20 11:48:25 -07:00
H. S. Teoh
658a6d648d Use typeid.getHash instead of rt.util.hash.hashOf which is not
accessible from outside druntime.
2013-07-09 07:12:11 -07:00
H. S. Teoh
3616667344 Hack to make BigInt's typeinfo use the correct version of opCmp. 2013-07-09 07:12:11 -07:00
H. S. Teoh
70d4c03fe2 Fix issues 8435, 10118. 2013-07-09 07:12:11 -07:00
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