# 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.89.0"
name = "twenty-first"
version = "1.1.0"
authors = ["Triton Software AG"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Collection of mathematics routines and cryptography for the twenty-first century."
homepage = "https://github.com/Neptune-Crypto/twenty-first"
documentation = "https://github.com/Neptune-Crypto/twenty-first"
readme = "README.md"
keywords = [
    "polynomial",
    "merkle-tree",
    "post-quantum",
    "algebra",
    "tip5",
]
categories = [
    "cryptography",
    "mathematics",
]
license = "GPL-2.0"
repository = "https://github.com/Neptune-Crypto/twenty-first"
resolver = "2"

[package.metadata.wasm-pack.profile.release]
wasm-opt = [
    "-O4",
    "--enable-bulk-memory",
]

[lib]
name = "twenty_first"
crate-type = [
    "cdylib",
    "rlib",
]
path = "src/lib.rs"

test
name = "bfield_codec_derive"
path = "tests/bfield_codec_derive.rs"

bench
name = "coset_extrapolation"
path = "benches/coset_extrapolation.rs"
harness = false

bench
name = "evaluation"
path = "benches/evaluation.rs"
harness = false

bench
name = "extrapolation"
path = "benches/extrapolation.rs"
harness = false

bench
name = "formal_power_series_inverse"
path = "benches/formal_power_series_inverse.rs"
harness = false

bench
name = "interpolation"
path = "benches/interpolation.rs"
harness = false

bench
name = "inverses"
path = "benches/inverses.rs"
harness = false

bench
name = "merkle_tree"
path = "benches/merkle_tree.rs"
harness = false

bench
name = "merkle_tree_auth_structure_size"
path = "benches/merkle_tree_auth_structure_size.rs"
harness = false

bench
name = "merkle_tree_authenticate"
path = "benches/merkle_tree_authenticate.rs"
harness = false

bench
name = "ntt"
path = "benches/ntt.rs"
harness = false

bench
name = "poly_clean_div"
path = "benches/poly_clean_div.rs"
harness = false

bench
name = "poly_mod_reduce"
path = "benches/poly_mod_reduce.rs"
harness = false

bench
name = "poly_mul"
path = "benches/poly_mul.rs"
harness = false

bench
name = "poly_scalar_mul"
path = "benches/poly_scalar_mul.rs"
harness = false

bench
name = "poly_scale"
path = "benches/poly_scale.rs"
harness = false

bench
name = "polynomial_coset"
path = "benches/polynomial_coset.rs"
harness = false

bench
name = "tip5"
path = "benches/tip5.rs"
harness = false

bench
name = "various_muls"
path = "benches/various_muls.rs"
harness = false

bench
name = "zerofier"
path = "benches/zerofier.rs"
harness = false

[dependencies.arbitrary]
version = "1"
features = ["derive"]

[dependencies.bfieldcodec_derive]
version = "0.7"

[dependencies.get-size2]
version = "0.7"
features = ["derive"]

[dependencies.hex]
version = "0.4.3"

[dependencies.itertools]
version = "0.14"

[dependencies.num-bigint]
version = "0.4"
features = ["serde"]

[dependencies.num-traits]
version = "0.2"

[dependencies.phf]
version = "0.13"
features = ["macros"]

[dependencies.rand]
version = "0.9"

[dependencies.rayon]
version = "1.10"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde-big-array]
version = "0.5"

[dependencies.serde_derive]
version = "1"

[dependencies.serde_json]
version = "1.0"

[dependencies.sha3]
version = "0.10.8"

[dependencies.thiserror]
version = "2.0"

[dependencies.zeroize]
version = "1.8.1"
features = ["derive"]

[dev-dependencies.bincode]
version = "1.3.3"

[dev-dependencies.blake3]
version = "1.5.5"

[dev-dependencies.macro_rules_attr]
version = "0.1.3"

[dev-dependencies.proptest]
version = "1.7.0"
features = ["std"]
default-features = false

[dev-dependencies.test-strategy]
version = "=0.4.3"

[dev-dependencies.trybuild]
version = "1.0"

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
version = "4.0"
features = ["html_reports"]
package = "codspeed-criterion-compat"

[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.3"
features = ["wasm_js"]

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2.104"

[target.'cfg(target_arch = "wasm32")'.dev-dependencies.criterion]
version = "0.8.1"
default-features = false

[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-test]
version = "0.3.42"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(coverage_nightly)"]

Homonyms

cyb/Cargo.toml
neural/rs/Cargo.toml
warriors/erga/Cargo.toml
soft3/tru/Cargo.toml
soft3/mudra/Cargo.toml
warriors/trisha/Cargo.toml
cyb/evy/Cargo.toml
cyb/wysm/Cargo.toml
soft3/zheng/Cargo.toml
cyb/shell/Cargo.toml
soft3/hemera/Cargo.toml
cyb/core/Cargo.toml
soft3/glia/Cargo.toml
cyb/optica/Cargo.toml
soft3/cybergraph/Cargo.toml
soft3/strata/Cargo.toml
neural/rune/Cargo.toml
cyb/honeycrisp/Cargo.toml
cyb/prysm/Cargo.toml
cyberia/cyberia-my/Cargo.toml
soft3/foculus/Cargo.toml
neural/trident/Cargo.toml
soft3/radio/Cargo.toml
cyb/apps/Cargo.toml
soft3/crate/Cargo.toml
cyb/cli/Cargo.toml
soft3/lens/Cargo.toml
soft3/mir/Cargo.toml
soft3/nox/Cargo.toml
neural/eidos/Cargo.toml
soft3/radio/iroh-relay/Cargo.toml
soft3/lens/core/Cargo.toml
warriors/trisha/honeycrisp/Cargo.toml
soft3/radio/iroh-car/Cargo.toml
soft3/hemera/cli/Cargo.toml
neural/rune/cli/Cargo.toml
soft3/strata/src/Cargo.toml
cyb/wysm/fuzz/Cargo.toml
soft3/tru/rs/Cargo.toml
soft3/hemera/bench/Cargo.toml
cyb/crates/cyb-reserve/Cargo.toml
neural/rs/cli/Cargo.toml
cyb/honeycrisp/aruminium/Cargo.toml
soft3/strata/proof/Cargo.toml
soft3/nox/cli/Cargo.toml
warriors/trisha/wgpu/Cargo.toml
soft3/soma/kernel/Cargo.toml
cyb/honeycrisp/unimem/Cargo.toml
neural/inf/rs/Cargo.toml
soft3/radio/nettools/Cargo.toml
cyb/honeycrisp/acpu/Cargo.toml
soft3/radio/iroh/Cargo.toml
soft3/tru/cli/Cargo.toml
soft3/lens/src/Cargo.toml
neural/rs/link/Cargo.toml
neural/rs/dialect/Cargo.toml
soft3/lens/porphyry/Cargo.toml
soft3/lens/brakedown/Cargo.toml
soft3/cybergraph/cli/Cargo.toml
soft3/radio/iroh-dns-server/Cargo.toml
soft3/glia/import/Cargo.toml
soft3/lens/binius/Cargo.toml
soft3/bbg/rs/Cargo.toml
neural/rs/mir-format/Cargo.toml
cyberia/research/cyberia-my/Cargo.toml
soft3/lens/cli/Cargo.toml
soft3/lytics/rs/Cargo.toml
neural/eidos/rs/Cargo.toml
soft3/strata/cli/Cargo.toml
neural/rs/pure-rust-check/Cargo.toml
neural/rs/rsc/Cargo.toml
neural/rs/core/Cargo.toml
soft3/glia/cli/Cargo.toml
soft3/radio/iroh-base/Cargo.toml
soft3/radio/particle/Cargo.toml
neural/rs/darwin-sys/Cargo.toml
cyb/honeycrisp/rane/Cargo.toml
soft3/glia/run/Cargo.toml
soft3/tok/rs/Cargo.toml
soft3/radio/iroh-ffi/Cargo.toml
cyb/crates/cyb/Cargo.toml
soft3/zheng/rs/Cargo.toml
soft3/radio/iroh-gossip/Cargo.toml
soft3/hemera/rs/Cargo.toml
soft3/radio/iroh-willow/Cargo.toml
cyb/prysm/cli/Cargo.toml
soft3/radio/radio-cli/Cargo.toml
soft3/lens/ikat/Cargo.toml
soft3/lens/assayer/Cargo.toml
soft3/nox/rs/Cargo.toml
soft3/radio/quinn/Cargo.toml
soft3/conformance/rs/Cargo.toml
soft3/strata/core/Cargo.toml
soft3/radio/iroh-blobs/Cargo.toml
soft3/radio/iroh-docs/Cargo.toml
warriors/trisha/cli/Cargo.toml
soft3/bbg/cli/Cargo.toml
neural/rs/codegen/Cargo.toml
warriors/trisha/rs/Cargo.toml
soft3/hemera/wgsl/Cargo.toml
neural/rs/macros/Cargo.toml
soft3/zheng/cli/Cargo.toml
warriors/erga/cli/Cargo.toml
soft3/radio/cyber-bao/Cargo.toml
soft3/strata/ext/Cargo.toml
neural/rs/sigil/Cargo.toml
neural/eidos/cli/Cargo.toml
soft3/strata/compute/Cargo.toml
neural/rs/macho-linker/Cargo.toml
soft3/radio/iroh/bench/Cargo.toml
soft3/strata/genies/rs/Cargo.toml
cyb/honeycrisp/aruminium/benches/Cargo.toml
cyb/wysm/crates/collections/Cargo.toml
neural/inf/rs/lex/Cargo.toml
warriors/erga/rs/miner/Cargo.toml
cyb/wysm/crates/fuzz/Cargo.toml
warriors/erga/rs/mine-bench/Cargo.toml
soft3/strata/trop/wgsl/Cargo.toml
soft3/strata/kuro/cli/Cargo.toml
soft3/strata/jali/cli/Cargo.toml
cyb/wysm/crates/ir/Cargo.toml
soft3/strata/jali/wgsl/Cargo.toml
neural/inf/rs/source/Cargo.toml
cyb/wysm/crates/wasi/Cargo.toml
neural/inf/rs/oracle/Cargo.toml
warriors/erga/rs/autolykos/Cargo.toml
cyb/evy/forks/naga/Cargo.toml
soft3/tape/impl/rust/Cargo.toml
soft3/strata/nebu/cli/Cargo.toml
soft3/radio/quinn/fuzz/Cargo.toml
soft3/radio/tests/integration/Cargo.toml
soft3/radio/nettools/netwatch/Cargo.toml
soft3/strata/genies/cli/Cargo.toml
soft3/radio/quinn/quinn-proto/Cargo.toml
neural/inf/rs/ast/Cargo.toml
cyb/evy/forks/bevy_image/Cargo.toml
cyb/evy/forks/bevy_pbr/Cargo.toml
neural/trident/editor/zed/Cargo.toml
neural/rune/rs/lex/Cargo.toml
neural/rune/rs/compile/Cargo.toml
warriors/trisha/.vendor/triton-constraint-builder/Cargo.toml
warriors/erga/rs/pool/Cargo.toml
cyb/evy/forks/bevy_tasks/Cargo.toml
soft3/strata/kuro/rs/Cargo.toml
cyb/wysm/crates/wast/Cargo.toml
soft3/radio/iroh-ffi/iroh-js/Cargo.toml
neural/inf/rs/cli/Cargo.toml
cyb/evy/forks/bevy_diagnostic/Cargo.toml
neural/rs/tests/macro-integration/Cargo.toml
cyb/evy/crates/evy_diagnostic/Cargo.toml
soft3/strata/genies/wgsl/Cargo.toml
soft3/strata/nebu/wgsl/Cargo.toml
cyb/evy/forks/bevy_animation/Cargo.toml
neural/rune/rs/ast/Cargo.toml
soft3/radio/nettools/portmapper/Cargo.toml
cyb/wysm/crates/core/Cargo.toml
cyb/evy/crates/evy_engine_dispatch/Cargo.toml
soft3/lytics/rs/event/Cargo.toml
neural/rune/rs/interp/Cargo.toml
soft3/strata/nebu/rs/Cargo.toml
warriors/erga/rs/rtable-bench/Cargo.toml
soft3/lytics/rs/agent/Cargo.toml
warriors/erga/rs/app/Cargo.toml
cyb/evy/forks/bevy_core_pipeline/Cargo.toml
cyb/evy/forks/bevy_anti_alias/Cargo.toml
cyb/evy/crates/evy_dialect/Cargo.toml
neural/rune/rs/prysm/Cargo.toml
cyb/evy/forks/bevy_mesh/Cargo.toml
soft3/lytics/rs/core/Cargo.toml
cyb/evy/forks/bevy_sprite/Cargo.toml
soft3/strata/trop/cli/Cargo.toml
neural/inf/rs/eval/Cargo.toml
warriors/trisha/.vendor/triton-constraint-circuit/Cargo.toml
soft3/radio/quinn/perf/Cargo.toml
neural/rune/rs/lower/Cargo.toml
warriors/trisha/.vendor/triton-air/Cargo.toml
cyb/evy/crates/evy_prysm_core/Cargo.toml
cyb/evy/crates/evy_engine_core/Cargo.toml
soft3/radio/quinn/quinn/Cargo.toml
neural/rune/rs/subject/Cargo.toml
cyb/evy/crates/evy_platform_caps/Cargo.toml
cyb/evy/crates/evy_ecs_storage/Cargo.toml
warriors/trisha/.vendor/triton-vm/Cargo.toml
warriors/erga/rs/blake-bench/Cargo.toml
cyb/evy/forks/bevy_transform/Cargo.toml
cyb/wysm/crates/cli/Cargo.toml
soft3/strata/jali/rs/Cargo.toml
neural/rune/rs/parse/Cargo.toml
neural/rune/rs/mold/Cargo.toml
soft3/radio/quinn/quinn-udp/Cargo.toml
cyb/wysm/crates/c_api/Cargo.toml
soft3/radio/quinn/bench/Cargo.toml
neural/inf/rs/plan/Cargo.toml
soft3/strata/trop/rs/Cargo.toml
cyb/evy/forks/bevy_post_process/Cargo.toml
soft3/lytics/rs/ingest/Cargo.toml
cyb/evy/crates/evy_engine_tasks/Cargo.toml
soft3/strata/kuro/wgsl/Cargo.toml
cyb/wysm/crates/wasmi/Cargo.toml
cyb/evy/forks/bevy_render/Cargo.toml
cyb/honeycrisp/rane/benches/Cargo.toml
neural/inf/rs/value/Cargo.toml
cyb/evy/crates/evy_radio/Cargo.toml
cyb/evy/forks/bevy_sprite_render/Cargo.toml
cyb/evy/forks/bevy_ecs/Cargo.toml
neural/rune/rs/parse-pure/Cargo.toml
neural/inf/rs/cozo/Cargo.toml
warriors/trisha/.vendor/triton-isa/Cargo.toml
neural/inf/rs/parse/Cargo.toml
cyb/evy/forks/bevy_gizmos_render/Cargo.toml
warriors/erga/rs/wallet/Cargo.toml
neural/inf/rs/lower/Cargo.toml
cyb/evy/forks/bevy_gizmos/Cargo.toml
neural/inf/rs/cozo/cozo-bin/Cargo.toml
neural/inf/rs/cozo/cozo-core/Cargo.toml
cyb/wysm/crates/c_api/macro/Cargo.toml
cyb/honeycrisp/unimem/experiments/iosurface_probe/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/Cargo.toml
neural/inf/rs/cozo/cozo-lib-c/Cargo.toml
neural/inf/rs/cozo/cozo-lib-java/Cargo.toml
soft3/radio/quinn/docs/book/Cargo.toml
cyb/honeycrisp/unimem/experiments/hyp_probe/Cargo.toml
neural/inf/rs/cozo/cozo-lib-nodejs/Cargo.toml
cyb/wysm/crates/c_api/artifact/Cargo.toml
neural/inf/rs/cozo/cozorocks/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/Cargo.toml
neural/inf/rs/cozo/cozo-lib-wasm/Cargo.toml
neural/inf/rs/cozo/cozo-lib-swift/Cargo.toml
neural/inf/rs/cozo/cozo-lib-python/Cargo.toml
neural/inf/rs/cozo/cozo-core-examples/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/rane/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/unimem/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/unimem/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/acpu/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/aruminium/Cargo.toml
cyb/honeycrisp/unimem/experiments/dext_contiguous_alloc/client/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/rane/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/acpu/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/aruminium/Cargo.toml
cyb/honeycrisp/unimem/experiments/dext_iosurface_pa/client/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/rane/benches/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/rane/benches/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/aruminium/benches/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/aruminium/benches/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/unimem/experiments/hyp_probe/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/unimem/experiments/iosurface_probe/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/unimem/experiments/iosurface_probe/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/unimem/experiments/hyp_probe/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/unimem/experiments/dext_iosurface_pa/client/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/unimem/experiments/dext_iosurface_pa/client/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/unimem/experiments/dext_contiguous_alloc/client/Cargo.toml
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/unimem/experiments/dext_contiguous_alloc/client/Cargo.toml

Graph