Commit graph

123 commits

Author SHA1 Message Date
H. S. Teoh
6282dda407 Implement conversion of biguint to octal.
Carried bits in last word must be output at the end.

Add unittest for 3rd/4th word no-carry boundary.

Implement 'o' format specifier in BigInt.toString().
2016-02-25 13:30:35 -08:00
H. S. Teoh
887414b364 Delete old dead code. 2016-02-17 10:17:48 -08:00
H. S. Teoh
adc341e914 BigInt("") should not break array bounds.
Throws exception on empty string instead.

Update ddoc.

Also throw on invalid digit strings.
2016-02-17 10:17:48 -08:00
Brian Schott
06506e407a Merge pull request #3725 from CyberShadow/pull-20151017-003315
fix Issue 15212 - BigInt should implement opCast!long and opCast!int
2015-10-17 21:43:36 -07:00
Vladimir Panteleev
9bb4da2456 fix Issue 15212 - BigInt should implement opCast!long and opCast!int 2015-10-17 03:51:52 +00:00
Dragos Carp
d698887729 Remove obsolete TypeTuple references
Replace following names:
std.typetuple      -> std.meta
TypeTuple          -> AliasSeq
ParameterTypeTuple -> Parameters
FieldTypeTuple     -> Fields

std.traits requires more work than search/replace and is left unchanged.
2015-10-13 20:37:44 +02:00
e10s
353c6ef72f use if-else instead of ?: 2015-06-30 23:09:08 +09:00
e10s
9e0b10c9ae append letterCase param to toHexString 2015-04-30 00:23:59 +09:00
e10s
ea21524544 Fix BigInt.toString with "%x"
Partial fix for https://issues.dlang.org/show_bug.cgi?id=14503.
2015-04-28 19:28:12 +09:00
Walter Bright
322d138df0 correction to std.bigint doc 2015-04-25 20:22:16 -07:00
H. S. Teoh
2f128cba58 Improve std.bigint docs.
Fix punctuation in a few places.

Add code examples.

Document all public methods and module-global functions.
2015-03-19 14:03:12 -07:00
Denis Shelomovskij
7820bf3310 Add (mostly @nogc) attributes to bigint module.
Also add comment to `internal.math.biguintcore.fromDecimalString`.
2015-02-27 18:31:05 +03:00
Andrei Alexandrescu
9f6e1c33be Merge pull request #2959 from e10s/patch-7
Fix Issue 14124 - BigInt %= int can return "-0"
2015-02-07 09:43:25 -08:00
Jakob Ovrum
6a8bcb32e9 Add @nogc attribute to several BigInt accessor functions 2015-02-07 04:03:36 +09:00
e10s
1cabeac6da Fix Issue 14124 - BigInt %= int can return "-0" 2015-02-04 22:15:27 +09:00
qchikara
366ea76845 Fix 14081:Table in the document of std.bigint.BigInt.toString() duplicates.
Small fix of doc comment.
2015-01-30 18:58:37 +09:00
Andrei Alexandrescu
3fbb2c33dd Merge pull request #2864 from e10s/patch-6
Fix Issue 13963 - BigInt modulo ulong is rejected
2015-01-24 19:42:19 -08:00
Robert burner Schadek
5646d0059c documentation update for bigint.d
* moved example from comment to unittest
* documentation for three function (toDecimalString,toHexString,absUnsign)
	all were public and had no doc

functions -> function

another fix

quickfur comments
2015-01-21 11:18:24 +01:00
e10s
fbdba85653 Make BigInt%long return long 2015-01-12 18:14:15 +09:00
e10s
f8bb3e4cd8 Fix Issue 13963 - BigInt modulo ulong is rejected 2015-01-11 16:42:47 +09:00
Geod24
0fb95b8c27 Usage of WEB macro for License everywhere 2014-10-15 11:30:42 +02:00
Peter Alexander
5862d71811 Fix Issue 13391 - Allow division of BigInt by long/ulong 2014-08-31 21:42:28 +01:00
Igor Stepanov
f6512bd5c8 mark toHash as public 2014-08-22 23:14:05 +04:00
k-hara
35bf8e1719 fix property enforcement 2014-07-30 19:15:39 +09:00
Dylan Knutson
a9552611af more operators nothrow 2014-05-28 11:57:22 -07:00
Dylan Knutson
ace6a6076d Make BigInt nothrow where possible 2014-05-27 23:29:52 -07:00
monarchdodra
d609bd332f Sed "@safe pure nothrow" 2014-05-06 08:21:13 +02:00
Daniel Murphy
4d0892baba Remove uses of the comma operator 2014-02-18 00:48:40 +11:00
monarchdodra
44fe3d88f7 Remove tabs 2014-01-08 08:37:52 +01:00
monarchdodra
fd8540072d Remove trailing white 2014-01-08 08:30:28 +01:00
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