Disservin and Joost VandeVondele
e88ccfd835
Prevent accidential misuse of TUNE()
...
Writing a TUNE expression like
int smallNetThreshold = 962;
TUNE(smallNetThreshold, 850, 1050);
is wrong and can lead to a weird binary. It should thus fail to even compile,
with the proper intellisense you'll also see the error directly in your editor.
A cheap way to prevent this is to disallow any fundamental type in the parameter list.
closes https://github.com/official-stockfish/Stockfish/pull/6164
No functional change
2025-07-24 10:28:17 +02:00
FauziAkram and Joost VandeVondele
bdc393d3a2
Correct comment
...
closes https://github.com/official-stockfish/Stockfish/pull/6159
No functional change
2025-07-24 10:26:15 +02:00
Daniel Samek and Joost VandeVondele
2c9a1871ae
Add offsets to history updates.
...
All parameters were tuned on 60k STC games (https://tests.stockfishchess.org/tests/view/6867ef49fe0f2fe354c0c735 ).
Passed STC:
LLR: 2.98 (-2.94,2.94) <0.00,2.00>
Total: 60576 W: 15794 L: 15444 D: 29338
Ptnml(0-2): 141, 7003, 15642, 7369, 133
https://tests.stockfishchess.org/tests/view/686d5af11451bd6fb830772a
Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 58722 W: 15159 L: 14799 D: 28764
Ptnml(0-2): 19, 6259, 16455, 6599, 29
https://tests.stockfishchess.org/tests/view/686f9fd51451bd6fb83081c9
closes https://github.com/official-stockfish/Stockfish/pull/6158
bench: 2706299
2025-07-24 10:24:08 +02:00
FauziAkram and Joost VandeVondele
793110ca19
Remove !ttData.move condition from cutNode reduction
...
Passed STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 118080 W: 30427 L: 30298 D: 57355
Ptnml(0-2): 290, 13880, 30561, 14029, 280
https://tests.stockfishchess.org/tests/view/6853f9bc038630d25f468670
Passed LTC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 232272 W: 59187 L: 59182 D: 113903
Ptnml(0-2): 111, 25430, 65014, 25505, 76
https://tests.stockfishchess.org/tests/view/68585c40a596a06817bb922e
closes https://github.com/official-stockfish/Stockfish/pull/6157
bench: 2227361
2025-07-24 10:19:10 +02:00
Shawn Xu and Joost VandeVondele
e2aa125570
Consistent syntax for class members
...
Currently, search.cpp uses three different syntax when accessing class member variables
* thisThread object references. This was a remnant from when pos.this_thread() was necessary for thread-local variable access
* this object references
* implicit member variable access
This PR aims to deprecate thisThread and standardize this syntax to implicit variable access, which is consistent with the rest of SF's codebase.
closes https://github.com/official-stockfish/Stockfish/pull/6154
no functional change
2025-07-24 10:13:24 +02:00
87 and Joost VandeVondele
8c2d21f91a
Speedup movegen with VBMI2
...
Passed STC
LLR: 2.96 (-2.94,2.94) <0.00,2.00>
Total: 166720 W: 43191 L: 42701 D: 80828
Ptnml(0-2): 348, 18567, 45069, 18999, 377
https://tests.stockfishchess.org/tests/view/686ae98dfe0f2fe354c0c867
Refactor movegen to emit to a vector with 16-bit elements, which enables a
speedup with AVX512-VBMI2 when writing moves to the move list.
Very crude timing measurements of perft via timing ./stockfish "go perft 7"
demonstrates approximately 17% perft speedup:
Summary
./Stockfish-dev/src/stockfish 'go perft 7' ran
1.17 ± 0.04 times faster than ./Stockfish-base/src/stockfish 'go perft 7'
Estimated overall nps increase of 0.4% via speedtest: 33605229 -> 33749825
(many thanks JonathanHallstrom).
The corresponding arch is avx512icl as it is a good baseline for consumer
avx-512 feature set support; Intel Ice Lake was the first consumer AVX-512 CPU
and it is a decent subset of what AMD Zen 4 supports.
closes https://github.com/official-stockfish/Stockfish/pull/6153
No functional change
2025-07-24 10:08:35 +02:00
Daniel Monroe and Joost VandeVondele
c13f883dc4
simplify away TT history term
...
Passed simplification STC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 163168 W: 42136 L: 42055 D: 78977
Ptnml(0-2): 410, 19224, 42212, 19351, 387
https://tests.stockfishchess.org/tests/view/684e16ee703522d4f129c9e9
Passed simplification LTC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 303144 W: 77580 L: 77647 D: 147917
Ptnml(0-2): 150, 33110, 85134, 33013, 165
https://tests.stockfishchess.org/tests/view/6852ff97703522d4f129d5f7
closes https://github.com/official-stockfish/Stockfish/pull/6152
bench: 2294774
2025-07-24 09:59:00 +02:00
Daniel Monroe and Joost VandeVondele
a43f12ef08
Simplify away constants in statscore
...
Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 317280 W: 81589 L: 81678 D: 154013
Ptnml(0-2): 799, 37651, 81847, 37526, 817
https://tests.stockfishchess.org/tests/view/684e197a703522d4f129c9f0
Passed simplification LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 174816 W: 44656 L: 44593 D: 85567
Ptnml(0-2): 83, 19064, 49058, 19113, 90
https://tests.stockfishchess.org/tests/view/6858aa54a596a06817bb924f
closes https://github.com/official-stockfish/Stockfish/pull/6150
bench: 2508140
2025-07-24 09:56:36 +02:00
FauziAkram and Joost VandeVondele
6a09a24cd8
Remove depth condition from ttCapture reduction
...
Passed STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 25920 W: 6822 L: 6593 D: 12505
Ptnml(0-2): 54, 2932, 6783, 3113, 78
https://tests.stockfishchess.org/tests/view/6853f9c2038630d25f468672
Passed LTC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 177318 W: 45339 L: 45278 D: 86701
Ptnml(0-2): 85, 19333, 49765, 19388, 88
https://tests.stockfishchess.org/tests/view/6854468a038630d25f4686c0
closes https://github.com/official-stockfish/Stockfish/pull/6149
bench: 2437275
2025-07-24 09:52:35 +02:00
Daniel Monroe and Joost VandeVondele
62f08568cd
Simplify PV term in lmr
...
Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 204000 W: 52541 L: 52506 D: 98953
Ptnml(0-2): 561, 24133, 52589, 24144, 573
https://tests.stockfishchess.org/tests/view/684f24ce703522d4f129cab5
Passed simplification LTC
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 156150 W: 39890 L: 39807 D: 76453
Ptnml(0-2): 82, 16882, 44043, 17007, 61
https://tests.stockfishchess.org/tests/view/6855d8bf1d0d9fc6587538f8
closes https://github.com/official-stockfish/Stockfish/pull/6148
bench 2766493
2025-07-24 09:49:43 +02:00
FauziAkram and Disservin
ce73441f20
Simplify sudden death time optimization
...
Passed Sudden Death STC:
https://tests.stockfishchess.org/tests/view/68455fe5375c2b77d9855351
LLR: 2.91 (-2.94,2.94) <-1.75,0.25>
Total: 49248 W: 13008 L: 12798 D: 23442
Ptnml(0-2): 309, 5491, 12821, 5687, 316
Passed Sudden Death LTC:
https://tests.stockfishchess.org/tests/view/6845a392375c2b77d98553cf
LLR: 3.01 (-2.94,2.94) <-1.75,0.25>
Total: 551070 W: 141699 L: 142031 D: 267340
Ptnml(0-2): 1923, 60608, 150916, 60054, 2034
Passed Standard STC:
https://tests.stockfishchess.org/tests/view/683c5ebb6ec7634154f9d989
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 142624 W: 36808 L: 36709 D: 69107
Ptnml(0-2): 302, 15448, 39745, 15483, 334
Passed Standard LTC:
https://tests.stockfishchess.org/tests/view/683f1a4f6ec7634154f9dc5a
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 146922 W: 37381 L: 37296 D: 72245
Ptnml(0-2): 69, 13552, 46117, 13671, 52
closes https://github.com/official-stockfish/Stockfish/pull/6132
Bench: 2249459
2025-07-02 18:41:46 +02:00
FauziAkram and Disservin
e695b9537e
Remove eval & beta diff from NM reduction
...
Passed STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 43456 W: 11178 L: 10966 D: 21312
Ptnml(0-2): 114, 5078, 11114, 5326, 96
https://tests.stockfishchess.org/tests/view/6849ae13e84567164b5c9de9
Passed LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 63090 W: 16302 L: 16125 D: 30663
Ptnml(0-2): 37, 6837, 17603, 7048, 20
https://tests.stockfishchess.org/tests/view/684ab516e84567164b5ca02f
closes https://github.com/official-stockfish/Stockfish/pull/6134
Bench: 2249459
2025-07-02 18:41:46 +02:00
mstembera and Disservin
ce7254b5ea
Optimize find_nnz() using AVX512
...
About a 1% speedup for ARCH x86-64-avx512 and x86-64-vnni512.
Note: This could be optimized further if we wanted to add an ARCH
supporting VBMI2 which is even more modern than VNNI.
https://en.wikichip.org/wiki/x86/avx512_vbmi2
closes https://github.com/official-stockfish/Stockfish/pull/6139
No functional change
2025-07-02 18:41:45 +02:00
MinetaS and Disservin
ea85a54fef
Fix trivial errors in Makefile
...
1. Remove "default" rule as "default" has no special meaning as a rule
name. Make runs the very first rule whose name doesn't begin with a dot
(which is "help" currently).
2. Make "format" rule not update dependencies.
closes https://github.com/official-stockfish/Stockfish/pull/6140
No functional change
2025-07-02 18:32:12 +02:00
Robert Nurnberg @ elitebook and Disservin
84e2f3851d
Introduce a constant for ValueList size in search()
...
Having the size of these lists in two separate places likely contributed
to the crashes seen during the recent tuning attempt
https://tests.stockfishchess.org/tests/view/685c413343ce022d15794536 .
Thanks to @MinetaS for spotting this.
closes https://github.com/official-stockfish/Stockfish/pull/6142
No functional change
2025-07-02 18:32:02 +02:00
Daniel Monroe and Disservin
3a0fff96cf
Simplify quiet move streak logic
...
Passed non-regression STC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 148960 W: 38409 L: 38312 D: 72239
Ptnml(0-2): 372, 17664, 38318, 17747, 379
https://tests.stockfishchess.org/tests/view/684c5773703522d4f129c5f7
Passed non-regression LTC
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 180720 W: 46188 L: 46130 D: 88402
Ptnml(0-2): 84, 19608, 50929, 19644, 95
https://tests.stockfishchess.org/tests/view/68505fa5703522d4f129cbab
closes https://github.com/official-stockfish/Stockfish/pull/6143
Bench: 2055894
2025-07-02 18:31:04 +02:00
Shawn Xu and Disservin
318c948c4d
Remove non-functional low-ply history fill
...
lowPlyHistory is always cleared at the start of `iterative_deepening`, so clearing it here is non-functional.
closes https://github.com/official-stockfish/Stockfish/pull/6144
No functional change
2025-07-02 18:31:04 +02:00
Daniel Monroe and Disservin
a7a56c41f6
Simplify history term in futility pruning
...
Passed simplification STC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 298816 W: 76814 L: 76881 D: 145121
Ptnml(0-2): 726, 35477, 77057, 35434, 714
https://tests.stockfishchess.org/tests/view/683f440f6ec7634154f9dc7f
Passed simplification LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 237774 W: 60801 L: 60802 D: 116171
Ptnml(0-2): 91, 26088, 66532, 26083, 93
https://tests.stockfishchess.org/tests/view/68441189ffbc71bd236778de
closes https://github.com/official-stockfish/Stockfish/pull/6130
Bench: 2411502
2025-07-02 18:31:04 +02:00
pb00067 and Disservin
34b75f1575
Restore integrity of MovePicker::can_move_king_or_pawn
...
PR6005 broken by PR6071
passed STC non regression
https://tests.stockfishchess.org/tests/view/6839791f6ec7634154f9d312
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 31776 W: 8353 L: 8130 D: 15293
Ptnml(0-2): 74, 3566, 8382, 3795, 71
passed LTC non-regression
https://tests.stockfishchess.org/tests/view/6839c87a6ec7634154f9d367
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 120756 W: 31015 L: 30899 D: 58842
Ptnml(0-2): 50, 12732, 34703, 12838, 55
closes https://github.com/official-stockfish/Stockfish/pull/6119
Bench: 1945300
2025-07-02 18:31:02 +02:00
disservin and GitHub
15555e8f4a
Disable linux gcc riscv64 ( #6145 )
...
Temporarily disable it, until we figure out the toolchain issues which are causing the crashes.
closes https://github.com/official-stockfish/Stockfish/pull/6145
No functional change
2025-06-29 12:33:20 +02:00
Shawn Xu and Joost VandeVondele
5337edfdb6
remove non-functional else
...
since we break out of the loop in the other branch
closes https://github.com/official-stockfish/Stockfish/pull/6116
no functional change
2025-06-02 22:12:37 +02:00
Daniel Monroe and Joost VandeVondele
9ac756695e
reduce depth by 5 in probcut
...
Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 63328 W: 16402 L: 16213 D: 30713
Ptnml(0-2): 174, 7378, 16340, 7629, 143
https://tests.stockfishchess.org/tests/view/6833530e6ec7634154f9be7f
Passed simplification LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 69936 W: 17795 L: 17625 D: 34516
Ptnml(0-2): 29, 7631, 19474, 7809, 25
https://tests.stockfishchess.org/tests/view/68335e386ec7634154f9c266
closes https://github.com/official-stockfish/Stockfish/pull/6120
Bench: 2307268
2025-06-02 22:09:11 +02:00
Daniel Monroe and Joost VandeVondele
254b6d5e85
Simplify corrections in extension margins
...
Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 96192 W: 25002 L: 24852 D: 46338
Ptnml(0-2): 242, 10868, 25716, 11038, 232
https://tests.stockfishchess.org/tests/view/683b44cb6ec7634154f9d6ac
Passed simplification LTC
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 83334 W: 21473 L: 21317 D: 40544
Ptnml(0-2): 37, 8877, 23674, 9051, 28
https://tests.stockfishchess.org/tests/view/683b79786ec7634154f9d75a
closes https://github.com/official-stockfish/Stockfish/pull/6117
Bench: 2294814
2025-06-02 22:05:11 +02:00
Shawn Xu and Joost VandeVondele
259bdaaa9f
Remove an unnecessary bound check
...
When failing high, it is always true that `alpha < beta` and `beta <=
bestValue`. Therefore if alpha and bestValue is not in decisive range, it is
guaranteed that beta is not.
closes https://github.com/official-stockfish/Stockfish/pull/6115
no functional change
2025-06-02 21:57:19 +02:00
Shawn Xu and Joost VandeVondele
c9af7674bc
Introduce Secondary TT Aging
...
When a high-depth TT entry fail to produce a cutoff, decrease the stored depth
by 1. This is intended to help cases such as #5023
(https://github.com/official-stockfish/Stockfish/issues/5023#issuecomment-2814209391 ),
where entries with extremely high depths prevent TT cutoffs, contributing to
search explosions.
Passed STC:
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 128800 W: 33502 L: 33053 D: 62245
Ptnml(0-2): 331, 15084, 33149, 15477, 359
https://tests.stockfishchess.org/tests/view/683958e56ec7634154f9d2a9
Passed LTC:
LLR: 2.97 (-2.94,2.94) <0.50,2.50>
Total: 63288 W: 16376 L: 16005 D: 30907
Ptnml(0-2): 26, 6712, 17798, 7081, 27
https://tests.stockfishchess.org/tests/view/683aa4026ec7634154f9d469
closes https://github.com/official-stockfish/Stockfish/pull/6113
Bench: 2144705
2025-06-02 21:55:55 +02:00
Daniel Monroe and Joost VandeVondele
3747a19937
Simplify away depth condition in IIR
...
Passed simplification STC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 359520 W: 92714 L: 92849 D: 173957
Ptnml(0-2): 977, 42640, 92614, 42599, 930
https://tests.stockfishchess.org/tests/view/6833705d6ec7634154f9c302
Passed simplification LTC
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 201756 W: 51544 L: 51507 D: 98705
Ptnml(0-2): 89, 21965, 56728, 22012, 84
https://tests.stockfishchess.org/tests/view/68338e386ec7634154f9c790
Passed simplification VLTC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 48558 W: 12675 L: 12492 D: 23391
Ptnml(0-2): 9, 4779, 14516, 4970, 5
https://tests.stockfishchess.org/tests/view/6838e0b26ec7634154f9d25b
closes https://github.com/official-stockfish/Stockfish/pull/6112
Bench: 2302583
2025-06-02 21:52:38 +02:00
Daniel Monroe and Joost VandeVondele
70ff5e3163
Simplify away cutoff term in prior countermove bonus
...
Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 61120 W: 16010 L: 15819 D: 29291
Ptnml(0-2): 150, 7105, 15869, 7276, 160
https://tests.stockfishchess.org/tests/view/683560226ec7634154f9ce0f
Passed simplification LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 225090 W: 57555 L: 57543 D: 109992
Ptnml(0-2): 104, 24367, 63603, 24355, 116
https://tests.stockfishchess.org/tests/view/6836420c6ec7634154f9cf5c
closes https://github.com/official-stockfish/Stockfish/pull/6111
Bench: 2472910
2025-06-02 21:49:43 +02:00
Daniel Monroe and Joost VandeVondele
ddefd6eb6b
Simplify away check term in statscore
...
Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 61696 W: 16031 L: 15841 D: 29824
Ptnml(0-2): 151, 7160, 16046, 7330, 161
https://tests.stockfishchess.org/tests/view/68353fcc6ec7634154f9cdd5
Passed simplification LTC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 237990 W: 60994 L: 60995 D: 116001
Ptnml(0-2): 95, 25964, 66903, 25913, 120
https://tests.stockfishchess.org/tests/view/683642256ec7634154f9cf5e
closes https://github.com/official-stockfish/Stockfish/pull/6110
Bench: 2521003
2025-06-02 21:47:26 +02:00
Nonlinear2 and Joost VandeVondele
8da3c2155a
Simplify NMP eval in qsearch
...
Passed non-regression STC:
https://tests.stockfishchess.org/tests/view/6834e9436ec7634154f9cd6e
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 24864 W: 6626 L: 6394 D: 11844
Ptnml(0-2): 62, 2806, 6477, 3012, 75
Passed non-regression LTC:
https://tests.stockfishchess.org/tests/view/683598fd6ec7634154f9ce82
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 200148 W: 51461 L: 51424 D: 97263
Ptnml(0-2): 92, 21672, 56503, 21721, 86
closes https://github.com/official-stockfish/Stockfish/pull/6109
Bench: 2316591
2025-06-02 21:44:29 +02:00
Carlos Esparza and Joost VandeVondele
5695486db9
Fix outdated comment
...
closes https://github.com/official-stockfish/Stockfish/pull/6108
No functional change
2025-06-02 21:40:13 +02:00
Robert Nurnberg @ elitebook and Joost VandeVondele
9debc540e5
Fix clang-format version in CONTRIBUTING.md
...
closes https://github.com/official-stockfish/Stockfish/pull/6107
No functional change
2025-06-02 21:38:53 +02:00
Shawn Xu and Joost VandeVondele
d0212906bd
Simplify stat eval history adjustment further
...
closes https://github.com/official-stockfish/Stockfish/pull/6106
bench 2074807
2025-06-02 21:37:37 +02:00
mstembera and Joost VandeVondele
29b0c07ac8
Simplify Position::pieces()
...
closes https://github.com/official-stockfish/Stockfish/pull/6104
No functional change
2025-06-02 21:28:18 +02:00
mstembera and Joost VandeVondele
d27298d7dc
Remove unused threatenedPieces
...
threatenedPieces is no longer used since #6023
Also can_move_king_or_pawn() can be const.
Also remove a couple of redundant declarations.
closes https://github.com/official-stockfish/Stockfish/pull/6101
No functional change
2025-06-02 21:24:38 +02:00
Shawn Xu and Joost VandeVondele
dc85c5a4c9
Remove nnz lookup table load optimization
...
Passed Non-regression STC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 63296 W: 16491 L: 16311 D: 30494
Ptnml(0-2): 129, 6624, 17972, 6784, 139
https://tests.stockfishchess.org/tests/view/6833ce486ec7634154f9cb22
Passed 2nd Non-regression STC:
LLR: 2.97 (-2.94,2.94) <-1.75,0.25>
Total: 369568 W: 95314 L: 95451 D: 178803
Ptnml(0-2): 897, 40231, 102601, 40222, 833
https://tests.stockfishchess.org/tests/view/68355c956ec7634154f9ce07
closes https://github.com/official-stockfish/Stockfish/pull/6100
no functional change
2025-06-02 21:21:54 +02:00
Daniel Monroe and Joost VandeVondele
9fd40b9ea8
Simplify tt depth in stat eval history adjustment
...
Passed simplification STC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 102208 W: 26498 L: 26349 D: 49361
Ptnml(0-2): 284, 12095, 26166, 12306, 253
https://tests.stockfishchess.org/tests/view/683354c76ec7634154f9be88
Passed simplification LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 133422 W: 34050 L: 33945 D: 65427
Ptnml(0-2): 56, 14473, 37559, 14556, 67
https://tests.stockfishchess.org/tests/view/683363626ec7634154f9c298
closes https://github.com/official-stockfish/Stockfish/pull/6099
Bench: 2652411
2025-06-02 21:19:17 +02:00
Daniel Monroe and Joost VandeVondele
dfa176fc7e
Small tt verify simplification
...
Also fix probcut comment
Passed non-regression STC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 69728 W: 18080 L: 17909 D: 33739
Ptnml(0-2): 161, 7157, 20044, 7354, 148
https://tests.stockfishchess.org/tests/view/68324b116ec7634154f9b478
closes https://github.com/official-stockfish/Stockfish/pull/6094
No functional change
2025-06-02 21:15:56 +02:00
FauziAkram and Joost VandeVondele
9b79b75c9b
Enforce minimum compiler versions
...
gcc 9.3
clang 10
using unsupported compiler versions will generate an error,
older version might miscompile SF
CI: improves output on failed bench output
closes https://github.com/official-stockfish/Stockfish/pull/6032
No functional change
2025-06-02 21:09:19 +02:00
FauziAkram and Joost VandeVondele
73c55e8949
Simplify Double Margin Formula
...
Passed STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 267296 W: 69214 L: 69248 D: 128834
Ptnml(0-2): 760, 31511, 69141, 31475, 761
https://tests.stockfishchess.org/tests/view/682f5d9a6ec7634154f9b01e
Passed LTC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 67872 W: 17460 L: 17289 D: 33123
Ptnml(0-2): 25, 7238, 19243, 7401, 29
https://tests.stockfishchess.org/tests/view/6833074b6ec7634154f9b5ae
Passed VLTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 118000 W: 30337 L: 30222 D: 57441
Ptnml(0-2): 15, 11783, 35289, 11898, 15
https://tests.stockfishchess.org/tests/view/683336c56ec7634154f9ba46
closes https://github.com/official-stockfish/Stockfish/pull/6097
Bench: 2312696
2025-05-25 21:31:12 +02:00
ppigazzini and Joost VandeVondele
e3adfaf8fc
build & ci: update to NDK r27c API level 29
...
Update to the latest LTS version NDK r27c (27.2.12479018),
the previous NDK are unsupported by Google, see:
https://developer.android.com/ndk/downloads
A build with NDK r27c and API level < 29 returns this error:
"executable's TLS segment is underaligned: alignment is 8 (skew 0), needs to be at least 64 for ARM64 Bionic"
Update the API level to 29 to use the native ELF LTS and avoid the error:
https://android.googlesource.com/platform/bionic/+/HEAD/docs/elf-tls.md
https://android.googlesource.com/platform/bionic/+/HEAD/android-changes-for-ndk-developers.md#elf-tls-available-for-api-level-29
A dynamic link build of Stockfish uses these libraries:
ldd stockfish-android-armv8-dynamic-api35
libm.so => /system/lib64/libm.so
libdl.so => /system/lib64/libdl.so
libc.so => /system/lib64/libc.so
ld-android.so => /system/lib64/ld-android.so
ld-android.so : the dynamic linker used by Android (on Linux is named ld-linux.so),
responsible for loading and linking shared libraries into an executable at runtime.
libdl.so : interface/library layer that provides function for dynamic loading,
relies on the underlying functionality provided by the dynamic linker
libm.so : math library for Android
libc.so : standard C library for Android
References:
Doc for native (C/C++) API
https://developer.android.com/ndk/guides/stable_apis
C libraries (libc, libm, libdl):
https://developer.android.com/ndk/guides/stable_apis#c_library
Bionic changes with API levels:
https://android.googlesource.com/platform/bionic/+/HEAD/docs/status.md
NDK r27c build system:
https://android.googlesource.com/platform/ndk/+/ndk-r27-release/docs/BuildSystemMaintainers.md
CI: Update to NDK r27c (27.2.12479018), the default version in GitHub runner,
to switch to a recent clang 18.
A PGO build requires static linking, because the NDK doesn't ship
the Android loaders (linker/linker64), see:
https://groups.google.com/g/android-ndk/c/3Ep6zD3xxSY
The API level should not be an issue when distributing a static build,
use the API 29, the oldest one not affected by the LTS alignement issue.
closes https://github.com/official-stockfish/Stockfish/pull/6081
No functional change
2025-05-25 21:28:53 +02:00
Кирилл Зарипов and Joost VandeVondele
bebffc5622
Adjust futility pruning thresholds using history
...
Passed STC:
https://tests.stockfishchess.org/tests/view/6833095a6ec7634154f9b5b3
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 56896 W: 14946 L: 14604 D: 27346
Ptnml(0-2): 117, 6674, 14561, 6942, 154
Passed LTC:
https://tests.stockfishchess.org/tests/view/6833179d6ec7634154f9b5da
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 200742 W: 51660 L: 51012 D: 98070
Ptnml(0-2): 96, 21520, 56473, 22204, 78
Passed Non-regression SMP STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 29080 W: 7591 L: 7373 D: 14116
Ptnml(0-2): 38, 3178, 7881, 3414, 29
https://tests.stockfishchess.org/tests/view/6833689d6ec7634154f9c2ba
closes https://github.com/official-stockfish/Stockfish/pull/6092
Bench: 2305697
2025-05-25 21:24:09 +02:00
Shawn Xu and Joost VandeVondele
00b1540e01
Always Decrease Reduction on TTMove
...
Passed VVLTC w/ LTC Bounds:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 57792 W: 15005 L: 14676 D: 28111
Ptnml(0-2): 2, 5241, 18082, 5568, 3
https://tests.stockfishchess.org/tests/view/682a0e3c6ec7634154f9a07e
Passed VVLTC w/ STC Bounds:
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 372298 W: 96342 L: 95655 D: 180301
Ptnml(0-2): 37, 34598, 116181, 35307, 26
https://tests.stockfishchess.org/tests/view/682a45b16ec7634154f9a3b3
STC Elo Estimate:
Elo: 0.15 ± 1.4 (95%) LOS: 58.3%
Total: 59612 W: 15414 L: 15388 D: 28810
Ptnml(0-2): 166, 6959, 15527, 6991, 163
nElo: 0.30 ± 2.8 (95%) PairsRatio: 1.00
https://tests.stockfishchess.org/tests/view/68335d276ec7634154f9c25c
closes https://github.com/official-stockfish/Stockfish/pull/6095
bench 2634355
2025-05-25 21:19:59 +02:00
Daniel Samek and Joost VandeVondele
805a2c1672
Simplify FutilityMoveCount
...
Inlined condition, instead of a function.
closes https://github.com/official-stockfish/Stockfish/pull/6096
no functional change
2025-05-25 21:12:27 +02:00
Кирилл Зарипов and Joost VandeVondele
eb27d9420f
Make ProbCut search shallower in cutNode
...
Passed STC:
https://tests.stockfishchess.org/tests/view/6832d2436ec7634154f9b4fc
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 455072 W: 118162 L: 117237 D: 219673
Ptnml(0-2): 1233, 53409, 117362, 54264, 1268
Passed LTC:
https://tests.stockfishchess.org/tests/view/6833323e6ec7634154f9ba17
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 128436 W: 32916 L: 32415 D: 63105
Ptnml(0-2): 50, 13737, 36137, 14250, 44
closes https://github.com/official-stockfish/Stockfish/pull/6093
Bench: 2232447
2025-05-25 21:05:53 +02:00
FauziAkram and Joost VandeVondele
fe7b9b14d2
Implement smoother reduction in time management
...
Implement smoother time reduction in time management by replacing a conditional
assignment with a continuous sigmoid-based function. The updated logic employs
a sigmoid-like function for a more gradual adjustment.
Passed STC:
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 64448 W: 16838 L: 16492 D: 31118
Ptnml(0-2): 145, 7214, 17207, 7466, 192
https://tests.stockfishchess.org/tests/view/6829dc046ec7634154f99fba
Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 407340 W: 104458 L: 103408 D: 199474
Ptnml(0-2): 196, 42281, 117664, 43335, 194
https://tests.stockfishchess.org/tests/view/6829fe1b6ec7634154f9a036
closes https://github.com/official-stockfish/Stockfish/pull/6091
No functional change
2025-05-25 21:03:16 +02:00
Shawn Xu and Joost VandeVondele
e6ec4705a8
Remove deprecated arch from codeql
...
closes https://github.com/official-stockfish/Stockfish/pull/6090
no functional change
2025-05-25 21:00:38 +02:00
b1b5893a8e
Minor code improvements
...
- Remove / add empty lines
- fix the `ttcapture` comment
- remove the `bonus` variable for `ttMoveHistory`
- remove unnecessary parentheses / brackets
- refactor the movepick good quiet stage
- rename `endMoves` to `endCur`, as the previous name suggests that it points to the end of all generated moves, which it does not.
closes https://github.com/official-stockfish/Stockfish/pull/6089
No functional change.
Co-Authored-By: xu-shawn <50402888+xu-shawn@users.noreply.github.com >
2025-05-25 20:59:27 +02:00
pb00067 and Joost VandeVondele
f58d923fe0
Simplify & improve stalemate detection
...
Change is functional because now we verify for stalemate also on captures and when not giving check.
Green STC test on stalemate-book
https://tests.stockfishchess.org/tests/view/682d878f6ec7634154f9ad2f
Elo: 2.29 ± 1.3 (95%) LOS: 100.0%
Total: 10000 W: 4637 L: 4571 D: 792
Ptnml(0-2): 2, 132, 4664, 202, 0
nElo: 12.42 ± 6.8 (95%) PairsRatio: 1.51
Green LTC test on stalemate-book
https://tests.stockfishchess.org/tests/view/682daa2d6ec7634154f9ad67
Elo: 0.80 ± 0.8 (95%) LOS: 96.9%
Total: 10000 W: 4727 L: 4704 D: 569
Ptnml(0-2): 0, 64, 4849, 87, 0
nElo: 6.51 ± 6.8 (95%) PairsRatio: 1.36
Passed non-regression test @ LTC
https://tests.stockfishchess.org/tests/view/682dd10d6ec7634154f9adb3
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 148512 W: 38135 L: 38046 D: 72331
Ptnml(0-2): 55, 15759, 42558, 15810, 74
N.B.: The unique concern I have, is that due changes in future a negative SEE
capture see might be returned in GOOD_CAPTURE stage. In this case the assert in
can_move_king_or_pawn() will trigger since we must guarantee that all moves
(also quiets) are generated in movepicker when calling can_move_king_or_pawn().
closes https://github.com/official-stockfish/Stockfish/pull/6088
bench: 2178135
2025-05-25 20:55:49 +02:00
Shawn Xu and Joost VandeVondele
472cc764be
Move SIMD code to a separate header
...
Passed Non-regression STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 115328 W: 29903 L: 29777 D: 55648
Ptnml(0-2): 265, 12293, 32444, 12375, 287
https://tests.stockfishchess.org/tests/view/68300e086ec7634154f9b1d1
closes https://github.com/official-stockfish/Stockfish/pull/6086
no functional change
2025-05-25 20:52:57 +02:00
Disservin and Joost VandeVondele
2662d6bf35
Update clang-format to v20
...
closes https://github.com/official-stockfish/Stockfish/pull/6085
No functional change
2025-05-23 08:54:06 +02:00