dev-libs/libtommath (gentoo)

Search

Package Information

Description:
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.
Homepage:
https://www.libtom.net/
License:
Unlicense

Versions

Version EAPI Keywords Slot
1.3.0 8 ~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris 0
1.2.1 8 ~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris 0

Metadata

Description

Maintainers

Upstream

Raw Metadata XML
<pkgmetadata>
	<maintainer type="person">
		<email>sam@gentoo.org</email>
		<name>Sam James</name>
	</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&gt;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>
	<upstream>
		<remote-id type="github">libtom/libtommath</remote-id>
	</upstream>
</pkgmetadata>

Lint Warnings

USE Flags

Flag Description 1.3.0 1.2.1
doc Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
examples Install examples, usually source code
static-libs Build static versions of dynamic libraries as well

Files

Manifest

Type File Size Versions
DIST ltm-1.2.1.tar.xz 635728 bytes 1.2.1
DIST ltm-1.3.0.tar.xz 642776 bytes 1.3.0
Unmatched Entries
Type File Size