Commit Graph

282 Commits

Author SHA1 Message Date
wbhart
61d7ae5b73 Fixed all the bugs I just implemented. 2009-07-23 02:10:46 +00:00
wbhart
5d3cf5509d First hack at toom4_mul (unbalanced toom4). 2009-07-23 01:31:29 +00:00
wbhart
87f1f58e90 Saved an unnecessary copy in lehmer gcd and fiddled with some parameters
in gcdext which sped it up slightly.
2009-07-22 04:26:36 +00:00
wbhart
d5e7b36cb0 Added strassen multiplication and increased the gcd test sizes so that
it actually gets used a few more times.
2009-07-22 00:44:05 +00:00
wbhart
899a1df461 Slight speedup by allowing tdiv_qr to alias and reduction of memory
usage in gcdext.
2009-07-20 14:35:31 +00:00
wbhart
bd57ca8fa6 Made some minor improvements to gcdext.c. 2009-07-20 12:59:25 +00:00
wbhart
23f24f3a23 Implemented Lehmer nxgcd and turned it on. 2009-07-20 06:27:34 +00:00
wbhart
aceee52323 Improved the mpn_gcdinv_1 function for speed. 2009-07-20 01:24:21 +00:00
wbhart
8347f89d14 Added mpn_gcdinv_1 and turned on MPN_ZERO and mpn_store assembly code in
FFT.
2009-07-19 23:08:09 +00:00
wbhart
f2e91a0543 Switched on lgcd for small gcd computations. 2009-07-19 19:11:40 +00:00
wbhart
342fb36ced Cleaned up some of the comments in gcdext to do with the "cofactors" u0 and u1. 2009-07-19 17:43:15 +00:00
wbhart
fc6f037682 Added reference to the FFT paper of Gaudy, Kruppa and Zimmermann. 2009-06-06 18:17:53 +00:00
wbhart
4e3ab104c2 Updated all version number, author, changelog info etc, for new release,
and added my copyright to the new FFT code I modified.
2009-05-31 20:17:12 +00:00
jasonmoxham
ebee2bc09d int to mp_size_t fix 2009-05-31 11:55:57 +00:00
jasonmoxham
3a5ca8e73a int to mp_size_t fix 2009-05-31 11:54:46 +00:00
wbhart
ca73396faa Added workaround for gcc 4.1.2 on ia64 in toom4 and toom4 squaring code. 2009-05-30 10:03:10 +00:00
wbhart
0d90e4faa8 Fixed a bug in FFT squaring code. 2009-05-27 15:58:27 +00:00
wbhart
c605f1e498 Removed some compiler warnings for MSVC from mul_fft.c. 2009-05-27 13:00:01 +00:00
jasonmoxham
5e1c28e1df divrem_2 generic correction 2009-05-20 17:34:55 +00:00
jasonmoxham
01da1f0caa divrem update 2009-05-19 12:48:09 +00:00
jasonmoxham
483fe4ed21 divrem updates 2009-05-19 12:27:10 +00:00
jasonmoxham
b5980c95b1 divrem bits 2009-05-19 09:51:30 +00:00
gladman
0af849c1f2 1. Fix minor bug in Windows build
2. change gcdext.c to avoid C99 features
2009-05-19 09:44:06 +00:00
jasonmoxham
9c68614d77 Add new function generic mpn_divrem_euclidean_qr_2 2009-05-19 09:30:34 +00:00
wbhart
3d66bd5322 Added tuning values for core2 and fixed a minor bug in mul_n.c. 2009-05-19 04:03:49 +00:00
wbhart
d96ef5e5d9 Reverted a change which slows things down on k8. 2009-05-19 02:04:09 +00:00
wbhart
e330cc79bc Fixed some bugs related to tuning gcdext and added tuning for toom4 and
toom7 squaring code.
2009-05-19 00:57:17 +00:00
wbhart
cfb5f9c0b2 Added copyright notice. 2009-05-18 21:00:51 +00:00
wbhart
2bf28e3c63 Added toom7 squaring and sped up multiplication slightly by better use
of the FFT.
2009-05-18 20:55:01 +00:00
wbhart
de64002818 Slight memory usage improvement for toom4 squaring code. 2009-05-18 07:28:48 +00:00
wbhart
8d8a26e60b Added toom4 squaring code - no tuning code yet! 2009-05-18 07:13:00 +00:00
wbhart
6b1c6afdbe Added half gcd implementation based on the original ngcd implementation
of Niels Mohler.
2009-05-16 21:57:44 +00:00
jasonmoxham
3b7c555c8e New generic functions/macros mpn_lshift2 mpn_rshift2 and tests/speed etc 2009-05-14 02:44:19 +00:00
gladman
d6962d575f 1. Add new/changed Core2 assembler files to the Windows build
2. Workaround VC++ optimisation bug in mul_fft.c
2009-05-13 09:54:24 +00:00
wbhart
21f51a706c Added toom32 for unbalanced multiplications. 2009-05-12 18:28:20 +00:00
wbhart
c6881fa3a9 Fixed bugs in Toom3 code. 2009-05-12 09:22:27 +00:00
wbhart
fb914ab4ac Fixed some buglets in toom4. 2009-05-11 15:16:53 +00:00
wbhart
ae48f90e2f Fix speed regression in mul.c, switch unbalanced toom back on. Add
missing toom3_interpolate prototype.
2009-05-11 12:30:17 +00:00
wbhart
4babcebbfa Turned off unbalanced multiplications as they slow things down.
-This line, and those below, will be ignored--

M    mpn/generic/mul.c
2009-05-11 11:06:38 +00:00
wbhart
9e56c61071 Added toom42 and code to handle unbalanced multiplication. 2009-05-11 10:09:09 +00:00
wbhart
1b58a8b49e Speed toom4 up by passing some arguments to the interpolate code in the
output space so they don't have to be moved at the end.
2009-05-10 13:45:27 +00:00
wbhart
4f99bbe9fc Added missing toom3 file. 2009-05-10 07:15:02 +00:00
wbhart
9c79e0a98b Factored out mpn_toom3_sqr_n and mpn_toom3_mul_n and removed duplication
of mpn_toom3_interpolate. Rewrote mpn_toom3_sqr_n.
2009-05-10 07:12:38 +00:00
wbhart
c8aa69c789 Added toom3_mul_n with better memory usage. 2009-05-10 04:24:39 +00:00
wbhart
1cc8b35cfe Another slight speedup. 2009-05-09 21:51:40 +00:00
wbhart
96e8e4e410 Added my copyright info. 2009-05-09 21:38:06 +00:00
wbhart
6ed1dd6474 Whoops I screwed up toom4 and toom7, putting them back now. 2009-05-09 21:23:15 +00:00
wbhart
7a0e036d36 Fixed toom4 and toom7 issues and added k8 tuning code. 2009-05-09 21:12:13 +00:00
wbhart
72f93a085c Added new toom3 code. 2009-05-09 20:56:34 +00:00
gladman
d942415a1c 1. Update Windows Powershell scripts in mpirbench to refer to MPIR rather than GMP
2. Update MPIR version number in Windows config files to 1.1.2 
3. Add an MSVC inline definition in in gmp-h.in
4. Correct locale test (as per GMP correction)
5. Add Windows x64 set/copy intrinsics to mul_fft.c (improves FFT speed score by 2%)
2009-05-09 13:26:27 +00:00
wbhart
0ba06242c6 Fixed some bugs in best_k code used by FFT. 2009-05-09 02:54:08 +00:00
wbhart
911916ce7e Fixed a carry issue with tc*_addmul which created a requirement for extra memory in toom code. 2009-05-08 14:12:47 +00:00
wbhart
5624d9a6fc New toom4 and toom7 code.
* Don't make copies before basecase multiplications
* Factor out interpolation code
* Convert interpolation code to twos complement
* Optimise code using new assembly functions where available
2009-05-08 13:21:14 +00:00
wbhart
2ad5066cea Tried to clean up a little. 2009-05-05 23:52:02 +00:00
wbhart
49441a5e20 Fixed bug in mul_fft.c 2009-05-05 22:18:16 +00:00
gladman
eeaca671af Remove C99 features in mul_fft.c 2009-05-05 20:41:29 +00:00
wbhart
041df82e0d Added Zimmermann et al's FFT (after making a bug fix). 2009-05-05 12:27:29 +00:00
wbhart
fd32e5fb9c Credit Bodrato in the way he requested. 2009-04-15 22:03:24 +00:00
wbhart
79141ad994 Removed some broken asserts from toom code. 2009-04-15 00:48:33 +00:00
jasonmoxham
255c8c255c assertion correction in divrem_euclidean 2009-04-14 17:52:38 +00:00
gladman
19faf1830c Update Windows build for latest code 2009-04-14 16:39:30 +00:00
jasonmoxham
f32b00d850 div update 2009-04-13 22:50:46 +00:00
wbhart
577614e228 Fixed mpbsd and got rid of mocked up mpz version of tc4_divexact_ui and
tc7_divexact_ui.
2009-04-11 11:36:35 +00:00
jasonmoxham
044eb665ec removed divrem_hensel_1 , save it for a rainy day :) 2009-04-11 04:08:14 +00:00
gladman
9f4a1b86a2 Revised TOOM4 and TOOM7 thresholds
Revised AMD tuning for Windows
2009-04-04 09:05:12 +00:00
wbhart
ce0262b9e3 Added commented out Toom 7 sequence (hand generated). 2009-04-04 01:58:04 +00:00
wbhart
11743b7468 Set library mode 1 in toom 7 file. 2009-04-02 07:48:32 +00:00
wbhart
22db24db76 Attempt to add toom cook 7. 2009-04-02 07:38:03 +00:00
wbhart
e5641d6da1 Used mpn_divexact_byBm1of for division by 15. 2009-04-02 00:07:22 +00:00
wbhart
4ee5c1dd22 Moved toom internal cutoff into gmp-impl.h. 2009-04-01 23:23:38 +00:00
wbhart
d328fb3368 Tried to fix a tuning issue with toom 4. 2009-04-01 20:16:35 +00:00
gladman
34efd8413b 1. Add Windows code for latest trunk revisions
2. Make changes for non C99 compilers (like VC++)
2009-04-01 14:58:15 +00:00
wbhart
e42709e967 Added toom4 multiplication. 2009-04-01 08:21:03 +00:00
jasonmoxham
8ca3be5bef merge div-branch into trunk with svn merge -r 1782:1816 ../branches/x86_64-division/ run on my local trunk 2009-03-31 23:56:06 +00:00
jasonmoxham
43160f61a6 added include longlong to diveby3.c 2009-02-20 00:47:24 +00:00
jasonmoxham
deb06ea4ed merged k8-branch into trunk , autotools , few handbits , windows bits just copyed over 2009-02-19 23:22:30 +00:00
jasonmoxham
e554550755 for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#include \"mpir.h\"/g" $file > temp ; mv temp $file ; done
for file in $(find -name \*.h ) ; do sed -e "s/#include \"gmp\.h\"/#include \"mpir.h\"/g" $file > temp ; mv temp $file ; done
for file in $(find -name \*.cc) ; do sed -e "s/#include \"gmp\.h\"/#include \"mpir.h\"/g" $file > temp ; mv temp $file ; done
2009-02-12 10:24:24 +00:00
martinjw
caef36dc44 Fixed several problems with Moller gcd patches 2008-12-28 19:03:41 +00:00
jasonmartin
4b2966287f Incorporated Niels Mollers lgpl 2.1 gcd code into trunk 2008-10-11 06:56:15 +00:00
wbhart
c7caca6d56 Set native line endings for all .c, .h, as, .asm, .s, .in, .m4, .cc, am 2008-06-25 07:33:36 +00:00
brgladman
f6ef7209a4 Apply GMP 4.2.1 patches to MPIR 2008-05-19 16:03:48 +00:00
wbhart
a197a2d3eb Basic GMP files with a new core2 directory and amd_64 directory with Martin's and Gaudry's patches.
Removed directories for no longer supported architectures.
2008-04-17 21:03:07 +00:00