Commit graph

215 commits

Author SHA1 Message Date
Don Clugston
0082bfa2f2 Fix to allow random to compile with -cov.
Commented out failing unit tests in bigint (seem to be opAssign with integer arguments).
2008-06-30 20:07:05 +00:00
Don Clugston
c09debbe32 Restored bigint (fixed so that it compiles). I've updated my asm code so that it uses dynamic arrays throughout, instead of a mix of pointers and arrays. It's possible that pointers-only would be better. None of the asm code is hooked up yet. 2008-06-30 14:47:37 +00:00
Walter Bright
0ee584c951 fix bugzilla 2145 2008-06-18 06:48:14 +00:00
Don Clugston
b1421d8176 Bugfix: return value was occasionally out-by-1 in mulAdd. 2008-06-17 07:50:25 +00:00
Don Clugston
dcbc4c8c6c And here's the last asm primitive -- division.
Thanks to Eric Bainville for kindly donating his code.
2008-06-10 07:51:08 +00:00
Don Clugston
6b7458155d Use D_PIC where appropriate. Minor changes to formatting. 2008-06-09 08:46:39 +00:00
Don Clugston
2876eb7051 Fix to comments. 2008-06-07 15:11:59 +00:00
Don Clugston
e61e8bc4ec And here is mulAdd. It would be trivial to do mulSub as well, if required. In any bignum implementation, this is most critical routine, and I'm delighted to have a 5.5 clock solution (the latency of MUL alone is 5 clocks) while only unrolling the loop by 2.
It was a huge effort to get it this fast, probably not justified -- but I had fun.
2008-06-06 13:00:41 +00:00
Don Clugston
822b2447d8 Made name of Mul consistent. Minor speedup. MulAdd still not included. BTW Janices code only compiles in debug mode. 2008-06-05 05:19:26 +00:00
Don Clugston
c0affe469d Added the first set of optimised asm bigint routines: shl, shr, mul, add, sub, and, or, xor. Optimised for CPUs from Intels' P6 family. 2008-05-30 07:44:42 +00:00
Janice Caron
6e2dfbd8ad Added opUShr overload 2008-05-19 16:07:57 +00:00
Janice Caron
abbe7ab789 Complete rewrite 2008-05-18 21:19:56 +00:00
Janice Caron
4974615a4e Content removed in entirety 2008-05-16 17:26:39 +00:00
Janice Caron
e5a3f474c3 Fixed declaration of opShl(), opShr() and opUShr(). 2008-05-13 19:57:58 +00:00
Janice Caron
d9b1f08980 First commit 2008-05-13 19:38:04 +00:00