[package]
edition = "2024"
rust-version = "1.93"
name = "pons"
version = "0.10.0"
authors = ["Chen-Pang He (https://jdh8.org)"]
build = false
exclude = [
"trainer",
"vendor",
"web",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust package for contract bridge"
homepage = "https://github.com/jdh8/pons"
documentation = "https://docs.rs/pons"
readme = "README.md"
keywords = ["bridge"]
categories = ["game-development"]
license = "Apache-2.0"
repository = "https://github.com/jdh8/pons"
[package.metadata.docs.rs]
all-features = true
[features]
dd = ["dep:ddss"]
default = ["dd"]
neural-floor = []
search = [
"neural-floor",
"dd",
]
serde = [
"dep:serde",
"contract-bridge/serde",
"ddss?/serde",
"bitflags/serde",
]
[lib]
name = "pons"
path = "src/lib.rs"
[[example]]
name = "ab-alert-reading"
path = "examples/ab-alert-reading/main.rs"
[[example]]
name = "ab-constructive"
path = "examples/ab-constructive/main.rs"
required-features = ["search"]
[[example]]
name = "ab-defend-2sx-or-3nt"
path = "examples/ab-defend-2sx-or-3nt/main.rs"
[[example]]
name = "ab-dump-bucket"
path = "examples/ab-dump-bucket/main.rs"
required-features = ["serde"]
[[example]]
name = "ab-dump-diff"
path = "examples/ab-dump-diff/main.rs"
required-features = ["serde"]
[[example]]
name = "ab-dump-sd"
path = "examples/ab-dump-sd/main.rs"
required-features = ["serde"]
[[example]]
name = "ab-fifths-companion"
path = "examples/ab-fifths-companion/main.rs"
[[example]]
name = "ab-fuzzy-strength"
path = "examples/ab-fuzzy-strength/main.rs"
[[example]]
name = "ab-inference-floor"
path = "examples/ab-inference-floor/main.rs"
[[example]]
name = "ab-instinct-floor"
path = "examples/ab-instinct-floor/main.rs"
[[example]]
name = "ab-landy"
path = "examples/ab-landy/main.rs"
[[example]]
name = "ab-leaping-michaels"
path = "examples/ab-leaping-michaels/main.rs"
[[example]]
name = "ab-lebensohl"
path = "examples/ab-lebensohl/main.rs"
[[example]]
name = "ab-long-minor-force"
path = "examples/ab-long-minor-force/main.rs"
[[example]]
name = "ab-major-continuations"
path = "examples/ab-major-continuations/main.rs"
[[example]]
name = "ab-meckstroth"
path = "examples/ab-meckstroth/main.rs"
[[example]]
name = "ab-minor-continuations"
path = "examples/ab-minor-continuations/main.rs"
[[example]]
name = "ab-neural-floor"
path = "examples/ab-neural-floor/main.rs"
required-features = ["neural-floor"]
[[example]]
name = "ab-nt-defense-matrix"
path = "examples/ab-nt-defense-matrix/main.rs"
[[example]]
name = "ab-nt-invite"
path = "examples/ab-nt-invite/main.rs"
[[example]]
name = "ab-nt-shape"
path = "examples/ab-nt-shape/main.rs"
[[example]]
name = "ab-nt-shape-contested"
path = "examples/ab-nt-shape-contested/main.rs"
[[example]]
name = "ab-one-nt-runout"
path = "examples/ab-one-nt-runout/main.rs"
[[example]]
name = "ab-responsive"
path = "examples/ab-responsive/main.rs"
[[example]]
name = "ab-sat"
path = "examples/ab-sat.rs"
[[example]]
name = "ab-sat-slam-try"
path = "examples/ab-sat-slam-try.rs"
[[example]]
name = "ab-search-book"
path = "examples/ab-search-book/main.rs"
required-features = ["search"]
[[example]]
name = "ab-search-floor"
path = "examples/ab-search-floor/main.rs"
required-features = ["search"]
[[example]]
name = "ab-settle-floor"
path = "examples/ab-settle-floor/main.rs"
[[example]]
name = "ab-sohl-after-double"
path = "examples/ab-sohl-after-double/main.rs"
[[example]]
name = "ab-stayman"
path = "examples/ab-stayman/main.rs"
[[example]]
name = "ab-texas-vs-sat"
path = "examples/ab-texas-vs-sat.rs"
[[example]]
name = "ab-uvu"
path = "examples/ab-uvu/main.rs"
[[example]]
name = "american"
path = "examples/american/main.rs"
[[example]]
name = "average-ns-par"
path = "examples/average-ns-par/main.rs"
[[example]]
name = "bba-decompose"
path = "examples/bba-decompose/main.rs"
required-features = ["serde"]
[[example]]
name = "bba-gen"
path = "examples/bba-gen/main.rs"
required-features = ["serde"]
[[example]]
name = "bba-score"
path = "examples/bba-score/main.rs"
required-features = ["serde"]
[[example]]
name = "dump-corpus"
path = "examples/dump-corpus/main.rs"
[[example]]
name = "dump-search"
path = "examples/dump-search/main.rs"
required-features = ["search"]
[[example]]
name = "dump-teacher"
path = "examples/dump-teacher/main.rs"
[[example]]
name = "eval-calibrate"
path = "examples/eval-calibrate/main.rs"
[[example]]
name = "eval-nltc"
path = "examples/eval-nltc/main.rs"
[[example]]
name = "eval-zar"
path = "examples/eval-zar/main.rs"
[[example]]
name = "gib"
path = "examples/gib/main.rs"
[[example]]
name = "practice-bidding"
path = "examples/practice-bidding/main.rs"
[[example]]
name = "probe-advance-double"
path = "examples/probe-advance-double/main.rs"
[[example]]
name = "probe-bba-1nt"
path = "examples/probe-bba-1nt/main.rs"
[[example]]
name = "probe-bba-constraints"
path = "examples/probe-bba-constraints/main.rs"
[[example]]
name = "probe-classify"
path = "examples/probe-classify/main.rs"
[[example]]
name = "probe-direct-defense"
path = "examples/probe-direct-defense/main.rs"
[[example]]
name = "probe-extract-constraints"
path = "examples/probe-extract-constraints/main.rs"
required-features = ["search"]
[[example]]
name = "probe-fivecard-invite-eval"
path = "examples/probe-fivecard-invite-eval.rs"
[[example]]
name = "probe-grand"
path = "examples/probe-grand/main.rs"
required-features = ["search"]
[[example]]
name = "probe-jacoby-invite-eval"
path = "examples/probe-jacoby-invite-eval.rs"
[[example]]
name = "probe-limit-raise"
path = "examples/probe-limit-raise/main.rs"
[[example]]
name = "probe-nt-invite-eval"
path = "examples/probe-nt-invite-eval.rs"
[[example]]
name = "probe-nt-range-split"
path = "examples/probe-nt-range-split.rs"
[[example]]
name = "probe-replay-yield"
path = "examples/probe-replay-yield.rs"
[[example]]
name = "probe-texas-slam-eval"
path = "examples/probe-texas-slam-eval.rs"
[[example]]
name = "probe-uninvite-4333"
path = "examples/probe-uninvite-4333/main.rs"
[[example]]
name = "probe-verify-constraint"
path = "examples/probe-verify-constraint/main.rs"
[[example]]
name = "render-book"
path = "examples/render-book/main.rs"
[[example]]
name = "single-dummy"
path = "examples/single-dummy/main.rs"
[[test]]
name = "american"
path = "tests/american.rs"
[[test]]
name = "american_competition"
path = "tests/american_competition.rs"
[[test]]
name = "american_defense"
path = "tests/american_defense.rs"
[[test]]
name = "american_european_minors"
path = "tests/american_european_minors.rs"
[[test]]
name = "american_forcing_nt"
path = "tests/american_forcing_nt.rs"
[[test]]
name = "american_game_force"
path = "tests/american_game_force.rs"
[[test]]
name = "american_instinct"
path = "tests/american_instinct.rs"
[[test]]
name = "american_jacoby"
path = "tests/american_jacoby.rs"
[[test]]
name = "american_major_continuations"
path = "tests/american_major_continuations.rs"
[[test]]
name = "american_minor_continuations"
path = "tests/american_minor_continuations.rs"
[[test]]
name = "american_minor_keycard"
path = "tests/american_minor_keycard.rs"
[[test]]
name = "american_minor_transfers"
path = "tests/american_minor_transfers.rs"
[[test]]
name = "american_notrump"
path = "tests/american_notrump.rs"
[[test]]
name = "american_raises"
path = "tests/american_raises.rs"
[[test]]
name = "american_stayman"
path = "tests/american_stayman.rs"
[[test]]
name = "american_strong_two"
path = "tests/american_strong_two.rs"
[[test]]
name = "american_weak_twos"
path = "tests/american_weak_twos.rs"
[[test]]
name = "bidding"
path = "tests/bidding.rs"
[[test]]
name = "demo_system"
path = "tests/demo_system.rs"
[[test]]
name = "dsl_roundtrip"
path = "tests/dsl_roundtrip.rs"
[[test]]
name = "dsl_verify"
path = "tests/dsl_verify.rs"
[[test]]
name = "fallback"
path = "tests/fallback.rs"
[[test]]
name = "proptest_stats"
path = "tests/proptest_stats.rs"
[[test]]
name = "scoring"
path = "tests/scoring.rs"
[[test]]
name = "serde"
path = "tests/serde.rs"
[[test]]
name = "stats"
path = "tests/stats.rs"
[[test]]
name = "system"
path = "tests/system.rs"
[[test]]
name = "table"
path = "tests/table.rs"
[[test]]
name = "trie"
path = "tests/trie.rs"
[[bench]]
name = "par"
path = "benches/par.rs"
harness = false
[[bench]]
name = "shuffle"
path = "benches/shuffle.rs"
harness = false
[[bench]]
name = "trie"
path = "benches/trie.rs"
harness = false
[dependencies.bitflags]
version = "2.2.1"
[dependencies.contract-bridge]
version = "0.1.4"
features = ["rand"]
[dependencies.ddss]
version = "0.1.3"
optional = true
[dependencies.rand]
version = "0.10"
[dependencies.serde]
version = "1.0.225"
features = ["derive"]
optional = true
[dependencies.thiserror]
version = "2"
[dev-dependencies.anyhow]
version = "1.0.98"
[dev-dependencies.clap]
version = "4.5"
features = ["derive"]
[dev-dependencies.criterion]
version = "0.8"
features = ["cargo_bench_support"]
default-features = false
[dev-dependencies.libloading]
version = "0.8"
[dev-dependencies.nalgebra]
version = "0.35"
[dev-dependencies.proptest]
version = "1"
features = ["std"]
default-features = false
[dev-dependencies.rayon]
version = "1"
[dev-dependencies.serde_json]
version = "1.0.100"
[profile.dev.package."*"]
opt-level = 2