Commit graph

50 commits

Author SHA1 Message Date
Jernej Krempuš
f880870009 Added igammaTemmeLarge to std.internal.math.gammafunction. 2012-11-23 03:00:43 +01:00
alexrp
b202180295 Remove all uses of sizediff_t in favor of ptrdiff_t. 2012-10-15 04:24:09 +02:00
Don Clugston
15c655f1b5 Fix issue 8164 BigInt from char[] too 2012-06-22 07:05:06 +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
Karl Broman
320c92d355 Change second paramater of gammaIncompleteComplInverse from x to p
- more meaningful for it to be p rather than x
  - also, this matches the corresponding internal function in
    std.internal.math.gammafunction
  - revise comments to match
2012-05-21 06:10:34 -05:00
Daniel Murphy
b9ad889cf3 real.min -> real.min_normal 2012-02-06 00:58:11 +11:00
k-hara
7dcb93621d Supplemental change of issue 3382 - [tdpl] Implement uniform function call syntax 2011-12-26 22:57:49 +09:00
Walter Bright
add73f61ea try again to get it to work for 64 bits 2011-12-07 23:44:01 -08:00
Walter Bright
4cf3a6e91c would not compile for 64 bits 2011-12-07 22:30:14 -08:00
Don Clugston
b828057506 BigInt: uint->size_t in nonasm primitives
Causes incorrect results for bigints larger than 2^^34 bytes long.
2011-12-07 10:09:04 +01:00
Brad Roberts
3980990974 fix 32 vs 64bit-ism in bituintcore.d 2011-11-26 14:42:31 -08:00
Don Clugston
1b6bb96de7 Add more comments for Biguint.pow
The memory usage calculation was complicated and deserved more explanation.
I've also rewritten it in a way which is clearer.
2011-10-20 15:13:50 +02: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
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
Ilya
e1b504b627 Just unused variables. 2011-06-12 16:57:27 +04:00
Don Clugston
134d9e14a9 5285 bigint won't compile in 64 bit 2011-04-30 04:57:52 +08:00
Don Clugston
0d8d3d5229 Remove assignment of immutable to mutable
This compiles with the current DMD, but should generate an error.
2011-04-15 07:29:12 +08:00
Brad Roberts
919eec2765 Fix biguintnoasm.d on x86-64 2011-03-27 12:55:27 -07:00
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
Brad Roberts
f368104f37 A bunch of 64 bit fixes, including disabling tests that don't pass 2010-12-23 20:39:22 +00:00
David Simcha
8aede6061f Attempt number 2: Work around Bug 4298 in gammafunction and errorfunction code. 2010-11-29 13:57:37 +00:00
Don Clugston
6d5104ceb5 Relaxed tolerance on betaIncompleteInv unit test. The fact that a 0.8-bit error in log() caused a 38 bit change in the result, is a nice demonstration of how difficult this function is to calculate. BTW Mathematica crashes on this calculation. 2010-11-29 08:31:51 +00:00
Don Clugston
5db6dad8c1 Increase tolerance of this test, now that we know that failure is caused by a small imprecision in AMD's microcode. 2010-11-28 20:11:36 +00:00
Don Clugston
d0c8affabc Some tougher, more accurate unit tests for betaIncomplete. Possibly these will shed more light on the AMD/Intel difference. 2010-11-23 21:50:05 +00:00
David Simcha
172ec1dc1a Revert the last changeset. 2010-11-20 22:48:31 +00:00
David Simcha
66bdf06479 Work around Bug 4298 in gammafunction and errorfunction code. 2010-11-20 22:02:35 +00:00
Don Clugston
09667828b6 Enable unittests which used to fail, but are working now. 2010-11-19 22:25:28 +00:00
Don Clugston
876bf9789d Added std.mathspecial. Only 14 functions are included at this stage. 2010-11-18 19:55:57 +00: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