diff options
author | Kevin Ryde <user42@zip.com.au> | 2000-10-21 21:51:15 +0200 |
---|---|---|
committer | Kevin Ryde <user42@zip.com.au> | 2000-10-21 21:51:15 +0200 |
commit | 268e121a45b4716afaed694abcf2677f8b0c8cd2 (patch) | |
tree | 877134226cdb387bd695b532bb695f1d330067e4 /doc | |
parent | 069ea19817a45076053215304efc212fba596c11 (diff) | |
download | gmp-268e121a45b4716afaed694abcf2677f8b0c8cd2.tar.gz |
Change sub-quadratic divexact task to want this for mpn_bdivmod which
will then help divexact, gcd and hopefully redc.
Add mpn_gcd_1 to use exact division reduction not mpn_mod_1.
Add --enable-abi idea.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/tasks.html | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/doc/tasks.html b/doc/tasks.html index f914c2413..f574be62d 100644 --- a/doc/tasks.html +++ b/doc/tasks.html @@ -143,10 +143,19 @@ targets with native versions of those routines. Need to be careful not to pass size==0. Is some code sharing possible between the <code>mpz</code> routines? -<li> <code>mpz_divexact</code> should use a divide and conquer like the normal +<li> <code>mpn_bdivmod</code> should use a divide and conquer like the normal division. See "Exact Division with Karatsuba Complexity" by Jebelean for - a (brief) description. Might be possible to share code with a divide and - conquer REDC. + a (brief) description. This will benefit <code>mpz_divexact</code> + immediately, and <code>mpn_gcd</code> on large unequal size operands. + REDC should be able to use it too. +<li> <code>mpn_gcd_1</code>, <code>mpz_kronecker_ui</code> etc should be able + to do an exact division style reduction initially, rather than + <code>mpn_mod_1</code>. This would be the same as <code>mpn_gcd</code> + does using <code>mpn_bdivmod</code>. This is still two multiplies per + limb, but is simpler and should be faster than mul by inverse division. + Perhaps a function <code>mpn_modexact_1</code>, being the remainder part + of an <code>mpn_divexact_1</code>. Creating the modular inverse will take + a few cycles, so it might be only for say 4 limbs and up. </ul> @@ -306,6 +315,13 @@ be conditionalized, and the appropriate form could be selected with the <code>HAVE_NATIVE</code> scheme if/when the code switches to use a <code>PROLOGUE</code> style. +<li> Think about a --enable-abi=FOO to select which abi to use on systems that + support multiple calling conventions and/or data sizes. The default could + be "guess", other choices could be made by users wanting compatibility + with other object code. Doing the right thing with where and how to + install library files probably needs a lot of help from automake and + libtool. A few simple cases like /usr/lib/sparcv9 might be easy enough + though. </ul> <p> In general, getting the exact right configuration, passing the |