# 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 = "2021"
name = "sci-form"
version = "0.14.4"
authors = ["Sci-Form Team"]
build = false
exclude = [
    "rdkit-master/",
    "tests/fixtures/*.json",
    "tests/fixtures/*.json.gz",
    "data/",
    "scripts/",
    "GDB20.50000.smi",
    "docs/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance 3D molecular conformer generation using ETKDG distance geometry"
homepage = "https://sci-form.dev"
documentation = "https://docs.rs/sci-form"
readme = "README.md"
keywords = [
    "chemistry",
    "conformer",
    "3d",
    "molecule",
    "etkdg",
]
categories = [
    "science",
    "algorithms",
]
license = "MIT"
repository = "https://github.com/jigonzalez930209/sci-form"

[features]
alpha-cga = []
alpha-dft = []
alpha-dynamics-live = []
alpha-edl = [
    "experimental-cpm",
    "experimental-eeq",
    "experimental-alpb",
]
alpha-gsm = []
alpha-imd = []
alpha-kinetics = [
    "experimental-gsm",
    "experimental-mbh",
]
alpha-mlff = []
alpha-obara-saika = []
alpha-periodic-linear = [
    "experimental-kpm",
    "experimental-randnla",
]
alpha-reaxff = []
alpha-render-bridge = [
    "experimental-kpm",
    "experimental-gsm",
    "experimental-gpu-rendering",
]
alpha-sdr = []
beta-cpm = []
beta-kpm = []
beta-mbh = []
beta-randnla = []
beta-riemannian = []
default = ["parallel"]
experimental-alpb = []
experimental-cga = ["alpha-cga"]
experimental-cpm = ["beta-cpm"]
experimental-d4 = []
experimental-eeq = []
experimental-gpu = [
    "experimental-gpu-rendering",
    "dep:wgpu",
    "dep:pollster",
]
experimental-gpu-rendering = ["dep:bytemuck"]
experimental-gsm = ["alpha-gsm"]
experimental-kpm = ["beta-kpm"]
experimental-mbh = ["beta-mbh"]
experimental-randnla = ["beta-randnla"]
experimental-riemannian = ["beta-riemannian"]
experimental-sdr = ["alpha-sdr"]
parallel = ["rayon"]

[lib]
name = "sci_form"
crate-type = ["rlib"]
path = "src/lib.rs"

[[bin]]
name = "benchmark"
path = "src/bin/benchmark.rs"

[[bin]]
name = "benchmark_10k"
path = "src/bin/benchmark_10k.rs"

[[bin]]
name = "check_c_ints"
path = "src/bin/check_c_ints.rs"

[[bin]]
name = "check_grad"
path = "src/bin/check_grad.rs"

[[bin]]
name = "debug_bounds_cmp"
path = "src/bin/debug_bounds_cmp.rs"

[[bin]]
name = "debug_bounds_multi"
path = "src/bin/debug_bounds_multi.rs"

[[bin]]
name = "debug_hf"
path = "src/bin/debug_hf.rs"

[[bin]]
name = "debug_ring"
path = "src/bin/debug_ring.rs"

[[bin]]
name = "debug_torsions"
path = "src/bin/debug_torsions.rs"

[[bin]]
name = "debug_triple"
path = "src/bin/debug_triple.rs"

[[bin]]
name = "diagnose_failures"
path = "src/bin/diagnose_failures.rs"

[[bin]]
name = "dump_attempts"
path = "src/bin/dump_attempts.rs"

[[bin]]
name = "dump_coords"
path = "src/bin/dump_coords.rs"

[[bin]]
name = "dump_graph"
path = "src/bin/dump_graph.rs"

[[bin]]
name = "eht_metal_reference"
path = "src/bin/eht_metal_reference.rs"

[[bin]]
name = "fast_bench"
path = "src/bin/fast_bench.rs"

[[bin]]
name = "find_attempt"
path = "src/bin/find_attempt.rs"

[[bin]]
name = "find_real_attempt"
path = "src/bin/find_real_attempt.rs"

[[bin]]
name = "full_benchmark"
path = "src/bin/full_benchmark.rs"

[[bin]]
name = "print_c_eri"
path = "src/bin/print_c_eri.rs"

[[bin]]
name = "print_ch_eri"
path = "src/bin/print_ch_eri.rs"

[[bin]]
name = "print_ch_v"
path = "src/bin/print_ch_v.rs"

[[bin]]
name = "rmsd_per_mol"
path = "src/bin/rmsd_per_mol.rs"

[[bin]]
name = "test_eigen"
path = "src/bin/test_eigen.rs"

[[bin]]
name = "test_failures"
path = "src/bin/test_failures.rs"

[[bin]]
name = "trace_pipeline"
path = "src/bin/trace_pipeline.rs"

[[bin]]
name = "verify_mt"
path = "src/bin/verify_mt.rs"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[dependencies.bytemuck]
version = "1.21"
features = ["derive"]
optional = true

[dependencies.flate2]
version = "1.1"

[dependencies.nalgebra]
version = "0.32"
features = ["rand"]

[dependencies.petgraph]
version = "0.6.4"

[dependencies.pollster]
version = "0.3"
optional = true

[dependencies.rand]
version = "0.8.5"

[dependencies.rayon]
version = "1.10"
optional = true

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

[dependencies.serde_json]
version = "1.0"

[dependencies.wgpu]
version = "0.19"
optional = true

[dev-dependencies.approx]
version = "0.5"

[dev-dependencies.rayon]
version = "1.10"

[profile.release]
opt-level = 3
lto = true
strip = true
