| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
| <pkgmetadata> |
| <maintainer> |
| <email>maintainer-needed@gentoo.org</email> |
| </maintainer> |
| <longdescription> |
| LibTomMath is a free open source portable number theoretic multiple-precision |
| integer library written entirely in C. (phew!). The library is designed to |
| provide a simple to work with API that provides fairly efficient routines that |
| build out of the box without configuration. |
| |
| The library builds out of the box with GCC 2.95 [and up] as well as Visual C++ |
| v6.00 [with SP5] without configuration. The source code is arranged to make it |
| easy to dive into a particular area very quickly. The code is also littered with |
| comments [This is one of the on going goals] that help explain the algorithms and |
| their implementations. Ideally the code will serve as an educational tool in the |
| future for CS students studying number theory. |
| |
| The library provides a vast array of highly optimized routines from various |
| branches of number theory. |
| |
| * Simple Algebraic |
| o Addition |
| o Subtraction |
| o Multiplication |
| o Squaring |
| o Division |
| * Digit Manipulation |
| o Shift left/right whole digits (mult by 2b by moving digits) |
| o Fast multiplication/division by 2 and 2k for k>1 |
| o Binary AND, OR and XOR gates |
| * Modular Reductions |
| o Barrett Reduction (fast for any p) |
| o Montgomery Reduction (faster for any odd p) |
| o DR Reduction (faster for any restricted p see manual) |
| o 2k Reduction (fast reduction modulo 2p - k) |
| o The exptmod logic can use any of the four reduction algorithms when |
| appropriate with a single function call. |
| * Number Theoretic |
| o Greatest Common Divisor |
| o Least Common Multiple |
| o Jacobi Symbol Computation (falls back to Legendre for prime moduli) |
| o Multiplicative Inverse |
| o Extended Euclidean Algorithm |
| o Modular Exponentiation |
| o Fermat and Miller-Rabin Primality Tests, utility function such as |
| is_prime and next_prime |
| * Miscellaneous |
| o Root finding over Z |
| o Pseudo-random integers |
| o Signed and Unsigned comparisons |
| * Optimizations |
| o Fast Comba based Multiplier, Squaring and Montgomery routines. |
| o Montgomery, Diminished Radix and Barrett based modular |
| exponentiation. |
| o Karatsuba and Toom-Cook multiplication algorithms. |
| o Many pointer aliasing optimiztions throughout the entire library. |
| </longdescription> |
| </pkgmetadata> |