nettrash-a 0.1.29

Algorithms in pure Rust with no dependencies: 23 sorting algorithms and a default sort; arbitrary-precision integers with Karatsuba, Toom-Cook and NTT multiplication, Newton division, GCD, roots, modular powers, primes and modular square roots; elliptic curves over prime fields with secp256k1, P-256, P-384, P-521, Curve25519 and Ed25519; complex numbers; matrices of floats, complex numbers or integers with LU, QR, Cholesky, SVD, Schur and eigendecompositions, exp, sqrt and log, and exact integer determinants and inverses. Not constant-time.
Documentation
//! Mathematics.
//!
//! * [`complex`]: complex numbers with `f32` or `f64` parts, their arithmetic with `+`, `-`, `*`
//!   and `/`, and their absolute values, arguments, exponentials, logarithms, square roots and
//!   powers.
//! * [`ec`]: elliptic curves over prime fields in Weierstrass, Montgomery and Edwards form, whose
//!   points add with `+`, subtract with `-` and multiply by a number with `*`, and the curves in
//!   common use; on numbers, and not constant-time.
//! * [`matrix`]: matrices of floats, complex numbers or numbers, their arithmetic with `+`, `-`
//!   and `*`, transposes, row and column operations, determinants, decompositions, eigenvalues
//!   and functions of matrices.
//! * [`numbers`]: integers of any size, stored as a sign and the bytes of the absolute value
//!   in either byte order; they add with `+` and `+=`, subtract with `-` and `-=`, multiply
//!   with `*` and `*=`, divide with `/`, `/=`, `%` and `%=`, shift with `<<`, `>>`, `<<=` and
//!   `>>=`, and are written and read as text in any radix from 2 to 36.

pub mod complex;
pub mod ec;
pub mod matrix;
pub mod numbers;