forked from FirePlank/infinite-chess-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
102 lines (82 loc) · 2.47 KB
/
Cargo.toml
File metadata and controls
102 lines (82 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
[package]
name = "hydrochess-wasm"
version = "1.0.0"
authors = ["FirePlank <44502537+FirePlank@users.noreply.github.com>"]
edition = "2024"
repository = "https://github.com/FirePlank/infinite-chess-engine"
description = "A chess engine made for the infinitechess.org website that can play on an infinite plain."
license = "GPL-3.0-only"
build = "build.rs"
[lib]
crate-type = ["cdylib", "rlib"]
[[bin]]
name = "spsa"
required-features = ["param_tuning"]
[[bin]]
name = "helpmate_solver"
required-features = ["parallel_solver"]
[[bin]]
name = "gen_nnue_data"
required-features = ["parallel_solver"]
[[bin]]
name = "puzzle_gen"
required-features = ["puzzle_gen"]
[[bin]]
name = "game_gen"
required-features = ["puzzle_gen", "rand"]
[[bin]]
name = "sprt"
required-features = ["sprt"]
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = [
'cfg(coverage)',
'cfg(coverage_nightly)',
] }
[dependencies]
arrayvec = "0.7"
js-sys = "0.3"
once_cell = "1.19"
rustc-hash = "2.1"
serde = { version = "1.0", features = ["derive"] }
serde-wasm-bindgen = "0.6"
smallvec = { version = "1.15.1", features = ["union"] }
wasm-bindgen = "0.2.106"
web-sys = { version = "0.3", features = ["console", "Window", "Performance"] }
console_error_panic_hook = { version = "0.1.7", optional = true }
num_cpus = { version = "1.16", optional = true }
rand = { version = "0.10", optional = true }
rayon = { version = "1.8", optional = true }
serde_json = { version = "1.0", optional = true }
wasm-bindgen-rayon = { version = "1.2", features = [
"no-bundler",
], optional = true }
# For game and puzzle generation
csv = { version = "1.3", optional = true }
indicatif = { version = "0.18", optional = true }
# For SPRT testing
clap = { version = "4.5.60", features = ["derive"], optional = true }
ctrlc = { version = "3.5", optional = true }
[features]
default = []
param_tuning = ["serde_json", "rand", "rayon", "clap", "ctrlc"]
eval_tuning = ["param_tuning"]
search_tuning = ["param_tuning"]
sprt = ["param_tuning"]
multithreading = ["rayon", "wasm-bindgen-rayon"]
parallel_solver = ["rayon", "num_cpus"]
puzzle_gen = ["csv", "serde_json", "rayon", "indicatif"]
nnue = []
debug = ["console_error_panic_hook"]
[dev-dependencies]
wasm-bindgen-test = "0.3.34"
[profile.release]
# Optimize for speed and small code size
opt-level = 3
lto = true
codegen-units = 1
[profile.test]
inherits = "release"
[package.metadata.wasm-pack.profile.dev]
wasm-opt = ["-O4"]
[package.metadata.wasm-pack.profile.release]
wasm-opt = ["-O4"]