tnt-lib 0.1.3

A Rust implementation of many certificates about Integers
# TNT

TNT is a free library that provides a rich set of functions that implement many certificates about Integers. It is carefully designed to be fast while producing correct results. The name stands for **TNT Number Theory**.

TNT also has a wide variety of tests that check the correctness of the implemented algorithm unlike other proposals.

Here is the list of certificates that TNT provides:

* **Primality:** whether the input is a prime number.
  * [AKS 2002]https://cse.iitk.ac.in/users/manindra/algebra/primality_original.pdf
  * [AKS 2003]https://www.cse.iitk.ac.in/users/manindra/algebra/primality_v6.pdf
  * [AKS Bernstein]https://cr.yp.to/papers/aks-20030125-retypeset20220327.pdf#page=8 (in progress)
  * [AKS 2005]https://math.dartmouth.edu/~carlp/PDF/complexity12.pdf (in progress)
* **Prime Sieves:** returns an ordered list of primes below the input.
  * [Sieve of Eratosthenes]https://cp-algorithms.com/algebra/sieve-of-eratosthenes.html#implementation
  * [Quadratic Sieve of Atkin]https://cr.yp.to/papers/primesieves-20020329-retypeset20220327.pdf (in progress)
* **Perfect Power Detection:** mostly algorithms by Daniel J. Bernstein.
  * [Detecting Perfect Powers in Essentially Linear Time]https://www.ams.org/journals/mcom/1998-67-223/S0025-5718-98-00952-1/S0025-5718-98-00952-1.pdf.
  * [Detecting perfect powers by factoring into coprimes]https://cr.yp.to/lineartime/powers2-20060914-ams.pdf (in progress)

## Usage


TNT uses some GNU libraries, specifically `GMP`, `NTL` and `GF2X`. This crates includes a script that must be run in order to fetch those dependencies:

```bash
./config.sh
```