libtommath-1.3.0
number theoretic multiple-precision integer library
Back to search · Project homepage
Description
LibTomMath is a free open source portable number theoretic multiple-precision
integer library written entirely in C. The library is designed to provide a
simple to work with API to fairly efficient routines from various branches of
number theory:
* Simple Algebraic
- Addition
- Subtraction
- Multiplication
- Squaring
- Division
* Digit Manipulation
- Shift left/right whole digits (mult by 2b by moving digits)
- Fast multiplication/division by 2 and 2k for k>1
- Binary AND, OR and XOR gates
* Modular Reductions
- Barrett Reduction (fast for any p)
- Montgomery Reduction (faster for any odd p)
- DR Reduction (faster for any restricted p see manual)
- 2k Reduction (fast reduction modulo 2p - k for k < MP_MASK and for
k > MP_MASK)
- The exptmod logic can use any of the five reduction algorithms when
appropriate with a single function call.
* Number Theoretic
- Greatest Common Divisor
- Least Common Multiple
- Jacobi Symbol Computation (falls back to Legendre for prime moduli)
- Multiplicative Inverse
- Extended Euclidean Algorithm
- Modular Exponentiation
- Fermat and Miller-Rabin Primality Tests, utility function such as is_prime
and next_prime
* Miscellaneous
- Root finding over Z
- Pseudo-random integers
- Signed and Unsigned comparisons
* Optimizations
- Fast Comba based Multiplier, Squaring and Montgomery routines.
- Montgomery, Diminished Radix and Barrett based modular exponentiation.
- Karatsuba and Toom-Cook multiplication algorithms.
- Many pointer aliasing optimiztions throughout the entire library.
Package information
- Ports path
- math/libtommath
- Package architecture
- amd64
- Maintainer
- The OpenBSD ports mailing-list <ports@openbsd.org>
- Categories
- math
- Available flavors
- None listed
These are ports metadata. Binary availability depends on the release, architecture and mirror. Build and test dependencies are not an installation checklist.
Direct dependencies
Build
Used by (4 dependency relationships)
Includes library, runtime, build and test relationships. Results load 100 at a time.