dev-libs/libtommath (gentoo)

Search

Install

Install this package:

emerge -a dev-libs/libtommath

If the package is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask dev-libs/libtommath

Or alternatively:

emerge --autounmask-write -a dev-libs/libtommath

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

Manage flags for this package: euse -i <flag> -p dev-libs/libtommath | euse -E <flag> -p dev-libs/libtommath | euse -D <flag> -p dev-libs/libtommath

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