[[bench]]
harness = false
name = "arc_processing"
path = "benches/parallel/arc_processing.rs"
[[bench]]
harness = false
name = "arc_storage"
path = "benches/memory/arc_storage.rs"
[[bench]]
harness = false
name = "basic_operations"
path = "benches/core/basic_operations.rs"
[[bench]]
harness = false
name = "benchmarks"
path = "benches/benchmarks.rs"
[[bench]]
harness = false
name = "binary_format"
path = "benches/io/binary_format.rs"
[[bench]]
harness = false
name = "closure_ops"
path = "benches/core/closure_ops.rs"
[[bench]]
harness = false
name = "composition"
path = "benches/core/composition.rs"
[[bench]]
harness = false
name = "concat"
path = "benches/core/concat.rs"
[[bench]]
harness = false
name = "creation"
path = "benches/core/creation.rs"
[[bench]]
harness = false
name = "deserialization"
path = "benches/io/deserialization.rs"
[[bench]]
harness = false
name = "determinization"
path = "benches/core/determinization.rs"
[[bench]]
harness = false
name = "epsilon_removal"
path = "benches/core/epsilon_removal.rs"
[[bench]]
harness = false
name = "fst_type_comparison"
path = "benches/fst_types/fst_type_comparison.rs"
[[bench]]
harness = false
name = "intersect"
path = "benches/core/intersect.rs"
[[bench]]
name = "main"
path = "benches/main.rs"
[[bench]]
harness = false
name = "memory_operations"
path = "benches/memory/memory_operations.rs"
[[bench]]
harness = false
name = "memory_usage"
path = "benches/memory/memory_usage.rs"
[[bench]]
harness = false
name = "minimization"
path = "benches/core/minimization.rs"
[[bench]]
harness = false
name = "optimization"
path = "benches/optimization/optimization.rs"
[[bench]]
harness = false
name = "optimization_epsilon_removal"
path = "benches/optimization/epsilon_removal.rs"
[[bench]]
harness = false
name = "optimization_minimization"
path = "benches/optimization/minimization.rs"
[[bench]]
harness = false
name = "parallel_operations"
path = "benches/parallel/parallel_operations.rs"
[[bench]]
harness = false
name = "parallel_ops"
path = "benches/parallel/parallel_ops.rs"
[[bench]]
harness = false
name = "parallel_processing"
path = "benches/parallel/parallel_processing.rs"
[[bench]]
harness = false
name = "parallel_state_processing"
path = "benches/parallel/parallel_state_processing.rs"
[[bench]]
harness = false
name = "reverse"
path = "benches/core/reverse.rs"
[[bench]]
harness = false
name = "semiring_fst_ops"
path = "benches/semirings/semiring_fst_ops.rs"
[[bench]]
harness = false
name = "semiring_operations"
path = "benches/semirings/semiring_operations.rs"
[[bench]]
harness = false
name = "serialization"
path = "benches/io/serialization.rs"
[[bench]]
harness = false
name = "shortest_path"
path = "benches/core/shortest_path.rs"
[[bench]]
harness = false
name = "state_management"
path = "benches/memory/state_management.rs"
[[bench]]
harness = false
name = "state_processing"
path = "benches/parallel/state_processing.rs"
[[bench]]
harness = false
name = "union"
path = "benches/core/union.rs"
[[bench]]
harness = false
name = "weight_processing"
path = "benches/parallel/weight_processing.rs"
[[bench]]
harness = false
name = "weight_pushing"
path = "benches/optimization/weight_pushing.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.bincode]
features = ["serde"]
optional = true
version = "2.0"
[dependencies.bitflags]
version = "2.9"
[dependencies.byteorder]
version = "1.5"
[dependencies.indexmap]
version = "2.11"
[dependencies.num-traits]
version = "0.2"
[dependencies.ordered-float]
version = "5.1"
[dependencies.rand]
version = "0.9"
[dependencies.rayon]
optional = true
version = "1.11"
[dependencies.serde]
features = ["derive"]
optional = true
version = "1.0"
[dependencies.thiserror]
version = "2.0"
[dev-dependencies.approx]
version = "0.5"
[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.7.0"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.rayon]
version = "1.11"
[[example]]
doc-scrape-examples = true
name = "edit_distance"
path = "examples/edit_distance.rs"
[[example]]
doc-scrape-examples = true
name = "morphological_analyzer"
path = "examples/morphological_analyzer.rs"
[[example]]
doc-scrape-examples = true
name = "number_date_normalizer"
path = "examples/number_date_normalizer.rs"
[[example]]
doc-scrape-examples = true
name = "phonological_rules"
path = "examples/phonological_rules.rs"
[[example]]
doc-scrape-examples = true
name = "pronunciation_lexicon"
path = "examples/pronunciation_lexicon.rs"
[[example]]
doc-scrape-examples = true
name = "spell_checking"
path = "examples/spell_checking.rs"
[[example]]
doc-scrape-examples = true
name = "string_alignment"
path = "examples/string_alignment.rs"
[[example]]
doc-scrape-examples = true
name = "transliteration"
path = "examples/transliteration.rs"
[features]
default = ["parallel", "serde"]
parallel = ["rayon"]
serde = ["dep:serde", "bincode", "ordered-float/serde"]
[lib]
name = "arcweight"
path = "src/lib.rs"
[package]
authors = ["Aaron Steven White <aaron.white@rochester.edu>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["algorithms", "data-structures", "science", "text-processing"]
description = "A high-performance, modular library for weighted finite state transducers with comprehensive examples and benchmarks"
documentation = "https://docs.rs/arcweight"
edition = "2021"
homepage = "https://github.com/aaronstevenwhite/arcweight"
include = ["src/**/*", "examples/**/*", "benches/**/*", "tests/**/*", "Cargo.toml", "README.md", "LICENSE", "CONTRIBUTING.md", "CHANGELOG.md", "clippy.toml", "rustfmt.toml"]
keywords = ["fst", "transducer", "automata", "nlp", "speech"]
license = "Apache-2.0"
name = "arcweight"
readme = "README.md"
repository = "https://github.com/aaronstevenwhite/arcweight"
rust-version = "1.85"
version = "0.1.0"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
targets = ["x86_64-unknown-linux-gnu"]
[[test]]
name = "algorithms_integration_tests"
path = "tests/algorithms_integration_tests.rs"
[[test]]
name = "distance_and_arc_ops"
path = "tests/distance_and_arc_ops.rs"
[[test]]
name = "encode_decode_integration"
path = "tests/encode_decode_integration.rs"
[[test]]
name = "end_to_end_tests"
path = "tests/end_to_end_tests.rs"
[[test]]
name = "fst_integration_tests"
path = "tests/fst_integration_tests.rs"
[[test]]
name = "integer_semiring_integration"
path = "tests/integer_semiring_integration.rs"
[[test]]
name = "io_integration_tests"
path = "tests/io_integration_tests.rs"
[[test]]
name = "isomorphic_integration"
path = "tests/isomorphic_integration.rs"
[[test]]
name = "semiring_integration_tests"
path = "tests/semiring_integration_tests.rs"
[[test]]
name = "state_sort_integration"
path = "tests/state_sort_integration.rs"