puremp 0.1.9

A pure-Rust arbitrary-precision arithmetic library — integers, rationals and MPFR-class floats — with a dependency-free clean-room core (optional serde/rand bridges), plus a C ABI and a CLI.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.88"
name = "puremp"
version = "0.1.9"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A pure-Rust arbitrary-precision arithmetic library — integers, rationals and MPFR-class floats — with a dependency-free clean-room core (optional serde/rand bridges), plus a C ABI and a CLI."
readme = "README.md"
keywords = [
    "bignum",
    "bigint",
    "arbitrary-precision",
    "rational",
    "no-std",
]
categories = [
    "mathematics",
    "no-std",
    "algorithms",
]
license = "MIT"
repository = "https://github.com/KarpelesLab/puremp"

[features]
algebraic = [
    "rational",
    "poly",
    "matrix",
    "float",
]
alloc = []
cli = [
    "std",
    "rational",
]
complex = ["int"]
decimal = ["int"]
default = [
    "std",
    "rational",
    "float",
    "dyadic",
    "decimal",
    "complex",
    "poly",
    "interval",
    "matrix",
    "lattice",
    "algebraic",
    "cli",
]
dyadic = ["int"]
ffi = [
    "std",
    "rational",
    "float",
]
float = [
    "int",
    "rational",
]
int = ["alloc"]
interval = ["float"]
lattice = ["rational"]
matrix = ["alloc"]
num-traits = [
    "dep:num-traits",
    "int",
    "rational",
]
poly = ["alloc"]
rand = [
    "dep:rand_core",
    "int",
]
rational = ["int"]
serde = [
    "dep:serde",
    "int",
]
std = ["alloc"]

[lib]
name = "puremp"
path = "src/lib.rs"

[[bin]]
name = "puremp"
path = "src/bin/puremp/main.rs"
required-features = ["cli"]

[[example]]
name = "bench"
path = "examples/bench.rs"
required-features = [
    "std",
    "float",
]

[[test]]
name = "algebraic"
path = "tests/algebraic.rs"

[[test]]
name = "algebraic_from_float"
path = "tests/algebraic_from_float.rs"

[[test]]
name = "complex"
path = "tests/complex.rs"

[[test]]
name = "decimal"
path = "tests/decimal.rs"

[[test]]
name = "dyadic"
path = "tests/dyadic.rs"

[[test]]
name = "fixed_float"
path = "tests/fixed_float.rs"

[[test]]
name = "float"
path = "tests/float.rs"

[[test]]
name = "inf_rational"
path = "tests/inf_rational.rs"

[[test]]
name = "integration"
path = "tests/integration.rs"

[[test]]
name = "interval"
path = "tests/interval.rs"

[[test]]
name = "lattice"
path = "tests/lattice.rs"

[[test]]
name = "matrix"
path = "tests/matrix.rs"

[[test]]
name = "mod_int"
path = "tests/mod_int.rs"

[[test]]
name = "num_traits"
path = "tests/num_traits.rs"

[[test]]
name = "poly"
path = "tests/poly.rs"

[[test]]
name = "poly_factor"
path = "tests/poly_factor.rs"

[[test]]
name = "property"
path = "tests/property.rs"

[[test]]
name = "quadratic"
path = "tests/quadratic.rs"

[[test]]
name = "serde"
path = "tests/serde.rs"

[[test]]
name = "serde_extended"
path = "tests/serde_extended.rs"

[dependencies.num-traits]
version = "0.2"
optional = true
default-features = false

[dependencies.rand_core]
version = "0.6"
optional = true
default-features = false

[dependencies.serde]
version = "1"
features = ["alloc"]
optional = true
default-features = false

[dev-dependencies.serde_json]
version = "1"

[lints.rust]
missing_docs = "warn"
unreachable_pub = "warn"
unsafe_code = "deny"

[profile.release]
lto = "thin"