pgg106 / alexandria Goto Github PK
View Code? Open in Web Editor NEWbitboard chess engine
License: GNU General Public License v3.0
bitboard chess engine
License: GNU General Public License v3.0
i successfully compiled your v3.02 source on Linux, Xubuntu 22.04, and it runs fine in CuteChess. Btw. i had no time issue with v3.01, and also v3.02 seems OK.
i see you have a threads option, but it seems wrongly defined :
uci
id name Alexandria 3.0.2
id author PGG
option name Hash type spin default 16 min 1 max 8192
option name Threads type spin default 1 min 1 max 1
uciok
indeed, in CuteChess i can not set threads other then 1 : the min and max are the same ?!
Relevant fen: N6k/8/8/8/8/8/8/K6B w - - 0 1
Issue: Mate in 30 isn't found even at max depth
It's sad that it's not possible to compile the newest version on Android and Linux devices.
May I suggest to include the version number in the displayed id?
typedef std::vector<std::pair<std::size_t, std::size_t>>
so it looks less stupid.
Rewrite the entire inference to just iterate over the change lists, IE:
using CiekceISveryCool = std::vector<std::pair<std::size_t, std::size_t>>;
void NNUE::update(NNUE::accumulator& board_accumulator, PleaseCiekce& NNUEAdd, PleaseCiekce& NNUESub) {
for (const auto [whiteAddIdx, blackAddIdx] : NNUEAdd) {
add(board_accumulator, whiteAddIdx, blackAddIdx);
}
for (const auto [whiteSubIdx, blackSubIdx] : NNUESub) {
sub(board_accumulator, whiteSubIdx, blackSubIdx);
}
// Reset the add and sub vectors
NNUEAdd.clear();
NNUESub.clear();
}
what is actually left to do: what a proper sub and add function.
Hi PGG, it seems occurs a zugzwang repeating moves on here.
id name Alexandria 3.1.0
position fen 8/1p3b2/p7/P1Np4/3P4/2P2p2/1k6/6K1 w - - 0 45
go depth 40
time:-1 start:362595078 stopOpt:0 stopMax:0 depth:40 timeset:0 nodeset:0
info score cp -144 depth 1 seldepth 5 nodes 28 nps 28000 time 0 pv g1f2
info score cp -144 depth 2 seldepth 5 nodes 70 nps 70000 time 0 pv g1f2 b2c3
info score cp -144 depth 3 seldepth 5 nodes 109 nps 109000 time 0 pv g1f2 b2c3 c5b7
info score cp -144 depth 4 seldepth 6 nodes 192 nps 192000 time 0 pv g1f2 b2c3 c5b7 c3d4
info score cp -144 depth 5 seldepth 7 nodes 409 nps 409000 time 0 pv g1f2 b2c3 c5b7 c3d4 f2f3
info score cp -185 depth 6 seldepth 8 nodes 1113 nps 74000 time 15 pv g1f2 b2c3 c5b7 c3d4 f2f3 d4d3
info score cp -125 depth 7 seldepth 11 nodes 2546 nps 169000 time 15 pv c5b7 b2c3 b7c5 c3d4 c5a6 d4e3 a6b4
info score cp -143 depth 8 seldepth 12 nodes 4947 nps 329000 time 15 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7h5 f3f2 h5g4 f2e1 d4d3
info score cp -168 depth 9 seldepth 14 nodes 7581 nps 505000 time 15 pv c5b7 b2c3 b7c5 c3d4 c5a6 d4e3 g1f1 d5d4 a6b4
info score cp -150 depth 10 seldepth 18 nodes 15687 nps 506000 time 31 pv c5b7 b2c3 g1f2 c3d4 f2f3 d4c3 b7c5 d5d4 c5a6 f7d5 f3f4 d4d3 f4e3 d3d2
info score cp -155 depth 11 seldepth 22 nodes 47827 nps 1542000 time 31 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3e2 d4c3 b7c5 d5d4 e2d1 g6c2 d1c1 c2d3 c5a4 c3b4
info score cp -161 depth 12 seldepth 22 nodes 60588 nps 1289000 time 47 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7h5 f3f4 h5g6 b7d6 d4c3 d6c8 d5d4 c8e7 g6c2 f4e5
info score cp -161 depth 13 seldepth 22 nodes 64048 nps 1362000 time 47 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7h5 f3f4 h5g6 b7d6 d4c3 d6c8 d5d4 c8e7 g6c2 f4e5
info score cp -167 depth 14 seldepth 22 nodes 73193 nps 1180000 time 62 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7h5 f3f4 h5g6 f4g5 g6d3 g5f4 d4c3 f4e5 d5d4 b7d6 d3e2
info score cp -154 depth 15 seldepth 22 nodes 93600 nps 1509000 time 62 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7h5 f3f4 h5g6 f4g5 g6d3 g5f4 d3c4 b7d6 d4c3 f4e5 d5d4 d6e4 c3d3
info score cp -162 depth 16 seldepth 22 nodes 131676 nps 1415000 time 93 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3e2 d4c3 b7c5 d5d4 e2d1 g6d3 c5a4 c3b4 d1d2 d3b5 a4b2 b4a5
info score cp -162 depth 17 seldepth 22 nodes 170552 nps 1564000 time 109 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3e2 d4c3 b7c5 d5d4 e2d1 g6d3 c5a4 c3b4 d1d2 d3b5 a4b2 b4a5
info score cp -162 depth 18 seldepth 25 nodes 219581 nps 1756000 time 125 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3e2 d4c3 b7c5 d5d4 e2d1 g6d3 c5a4 c3b4 a4b2 d3b5 d1c2 b4a5 c2d2
info score cp -169 depth 19 seldepth 25 nodes 295862 nps 1896000 time 156 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f4 g6c2 b7d6 d4c3 d6b7 d5d4 b7c5 d4d3 c5d3 c2d3 f4e5 c3b4 e5d6 d3b5
info score cp -159 depth 20 seldepth 26 nodes 378621 nps 2024000 time 187 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f4 g6c2 b7d6 d4c3 d6b7 d5d4 b7c5 d4d3 c5d3 c2d3 f4e5 c3b4 e5d6 b4a5 d6c5 d3b5 c5d4 a5b6
info score cp -155 depth 21 seldepth 27 nodes 474847 nps 2178000 time 218 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f4 g6c2 b7d6 d4c3 d6b7 d5d4 b7c5 d4d3 c5d3 c2d3 f4e5 c3b4 e5d6 d3b5 d6c7 b4a5
info score cp -159 depth 22 seldepth 30 nodes 614948 nps 2320000 time 265 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f4 g6c2 b7d6 d4c3 d6b7 d5d4 b7c5 d4d3 c5d3 c2d3 f4e5 c3b4 e5d6 b4a5 d6c5 d3b5 c5d4 a5b6
info score cp -194 depth 23 seldepth 32 nodes 1100713 nps 2608000 time 422 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f4 d4c4 b7d6 c4c3 d6b7 d5d4 b7c5 d4d3 c5d3 g6d3 f4e5 c3b4 e5d4 d3c4 d4e3 c4b5 e3d4 b5c6 d4d3 b4c5 d3c3
info score cp -195 depth 24 seldepth 33 nodes 1535987 nps 2808000 time 547 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f4 d4c4 b7d6 c4c3 d6b7 d5d4 b7c5 d4d3 c5d3 g6d3 f4e5 c3b4 e5d4 d3c4 d4e3 b4c5 e3d2 c4b5 d2c3 b5e8 c3d3 e8d7
info score cp -194 depth 25 seldepth 33 nodes 1647090 nps 2777000 time 593 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f4 d4c4 b7d6 c4c3 d6b7 d5d4 b7c5 d4d3 c5d3 g6d3 f4e5 c3b4 e5d4 d3c4 d4e3 b4c5 e3d2 c4b5 d2c3 b5e8 c3d3 e8d7 d3c3 d7c6
info score cp -195 depth 26 seldepth 35 nodes 1934647 nps 2816000 time 687 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f4 d4c4 b7d6 c4c3 d6b7 d5d4 b7c5 d4d3 c5d3 g6d3 f4e5 c3b4 e5d4 d3c4 d4e3 b4c5 e3d2 c4b5 d2c3 b5a4 c3d3 c5b4 d3e2 a4c6 e2d3
info score cp -195 depth 27 seldepth 36 nodes 2485449 nps 2948000 time 843 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f4 d4c4 b7d6 c4c3 d6b7 d5d4 b7c5 d4d3 c5d3 g6d3 f4e3 d3b5 e3e4 c3c4 e4e3 b5c6 e3e2 c4c5 e2d2 c6b5 d2c3 b5a4 c3d3 c5b4 d3d2 a4c6 d2d3
info score cp -195 depth 28 seldepth 36 nodes 2743215 nps 2927000 time 937 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f2 d4c4 f2e3 c4c3 e3f4 d5d4 b7c5 d4d3 c5d3 g6d3 f4e3 d3b5 e3e4 c3c4 e4e3 b5c6 e3e2 c4c5 e2e3 c6b5 e3e4 b5a4 e4d3 a4d7
info score cp -195 depth 29 seldepth 36 nodes 3078332 nps 2985000 time 1031 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f2 d4c4 f2e3 c4c3 e3f4 d5d4 b7c5 d4d3 c5d3 g6d3 f4e3 d3b5 e3e4 c3c4 e4e3 b5c6 e3e2 c4c5 e2e3 c6b5 e3e4 b5a4 e4d3 a4d7
info score cp -195 depth 30 seldepth 36 nodes 3495133 nps 2982000 time 1172 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f2 d4c4 f2e3 c4c3 e3f4 d5d4 b7c5 d4d3 c5d3 g6d3 f4e3 d3b5 e3e4 c3c4 e4e5 c4c5 e5e6 b5d3 e6d7 c5b4 d7c6 d3b5 c6d5 b5a4 d5d4 a4c6 d4d3
info score cp -195 depth 31 seldepth 40 nodes 4705953 nps 3106000 time 1515 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f2 d4c4 f2e3 c4c3 b7c5 d5d4 e3e2 g6f7 e2e1 f7c4 e1d1 c4d5 d1e2 d4d3 c5d3 d5c4 e2e1 c4d3 e1d1 d3c4 d1c1 c4b5 c1d1 c3b4 d1d2 b4c5 d2c3 b5a4 c3d3
info score cp -198 depth 32 seldepth 42 nodes 6482788 nps 3191000 time 2031 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f2 d4c4 f2e3 c4c3 b7c5 d5d4 e3e2 g6f7 e2e1 f7d5 e1e2 d5c6 e2d1 d4d3 c5d3 c3d3 d1c1 d3c3 c1b1 c6b5 b1a2 c3b4 a2b2 b5d3 b2c1 d3c4 c1b2 c4b5
info score cp -198 depth 33 seldepth 42 nodes 7748483 nps 3220000 time 2406 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f2 d4c4 f2e2 c4c3 b7c5 d5d4 e2d1 g6d3 d1e1 d3b5 c5e4 c3c2 e4g5 b5a4 g5e6 c2c3 e6d4 c3d4 e1e2 a4e8 e2d2 d4c4 d2c1 e8b5 c1c2 c4b4 c2b2
info score cp -198 depth 34 seldepth 42 nodes 9543997 nps 3266000 time 2922 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f2 d4c4 f2e2 c4c3 b7c5 d5d4 e2d1 g6d3 d1e1 d3b5 e1f2 b5c6 f2e2 d4d3 c5d3 c6b5 e2e3 b5d3 e3f2 d3b5 f2e3 c3c4 e3e2 b5c6 e2d2 c6e8 d2c2 e8a4 c2b2 a4b5 b2c2 c4d4
info score cp -198 depth 35 seldepth 46 nodes 13462667 nps 3314000 time 4062 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f2 d4c4 f2e2 c4c3 b7c5 d5d4 e2f2 d4d3 c5d3 c3d3 f2f3 d3c4 f3e2 c4c3 e2f2 c3d4 f2e2 g6d3 e2d2 d3e4 d2c1 e4c6 c1c2 c6a4 c2d2 a4b5 d2c2 d4c4 c2b1 c4b4 b1b2
info score cp -198 depth 36 seldepth 46 nodes 16439053 nps 3339000 time 4922 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f2 d4c4 b7d8 d5d4 d8e6 d4d3 f2e3 c4c3 e6d4 g6e4 d4e2 d3e2 e3e2 e4g6 e2d1 g6d3 d1c1 c3b4 c1b2 d3b5 b2c2 b4c4 c2b2 b5c6 b2c2 c6e4 c2b2 c4b4 b2a2 e4c6
info score cp -198 depth 37 seldepth 46 nodes 20757220 nps 3397000 time 6109 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3f2 d4c4 f2e3 c4c3 b7c5 d5d4 e3e2 d4d3 c5d3 g6d3 e2d1 c3b2 d1d2 d3c4 d2e3 b2c3 e3e4 c4e2 e4e5 e2d3 e5d5 c3b4 d5d4 d3e4 d4e4 b4a5 e4d4 a5b4 d4d3 b4b3 d3d2
info score cp -195 depth 38 seldepth 63 nodes 694463285 nps 3258000 time 213125 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7h5 f3f4 h5e8 b7d6 e8g6 d6c8 d4c3 c8b6 d5d4 b6d5 c3d2 f4e5 d4d3 d5f4 d2c3 f4d3 g6d3 e5d5 d3e2 d5d6 c3b4 d6d5 e2b5 d5d4 b5c6 d4d3 c6e8 d3e3 b4c5 e3d3 e8a4
info score cp -193 depth 39 seldepth 63 nodes 780198505 nps 3265000 time 238937 pv c5b7 b2c3 b7d8 f7e8 g1f2 c3d4 d8e6 d4c4 f2f3 d5d4 e6f4 e8c6 f3e2 c4c3 e2d1 d4d3 f4e2 d3e2 d1e2 c6b7 e2e3 c3b4 e3d4 b7c6 d4e3 b4c4 e3d2 c6d7 d2e3 d7e8 e3d2 e8g6 d2e2 g6d3 e2d2 c4d4 d2e1 d3e4 e1e2 e4c6 e2e1
info score cp -196 depth 40 seldepth 63 nodes 870547175 nps 3270000 time 266156 pv c5b7 b2c3 g1f2 c3d4 f2f3 f7g6 f3e2 d4c3 b7c5 g6f5 c5b7 f5g4 e2e3 d5d4 e3f4 g4d7 f4e5 d7c6 b7c5 c3c4 c5b3 c4b3 e5d4 b3b4 d4e5 b4c5 e5e6 c6b5 e6e5 b5d7 e5e4 d7e8 e4d3 e8g6 d3c3 g6f7 c3c2 f7c4 c2c3 c4b5 c3b3 b5c6
bestmove c5b7
please compare with Stockfish 15
Describe the bug
when using Alexandria in SCID (newest v5.02) it gives this error after starting : The analysis engine terminated without exit code: ""
To Reproduce
Expected behavior
the engine should evaluate the position and show its result lines
Additional context
this happens with version Alexandria v4.x upto current v5.0.14
NOTE: some other engines, even famous / strong ones, also have this issue : it seems SCID is buggy when handling the (UCI) protocol. When executing SCID by terminal no error is displayed. I'm using Xubuntu 22.04
mkdir -p ".tmp" ".tmp/src"
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/attack.cpp -o .tmp/src/attack.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/bench.cpp -o .tmp/src/bench.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/cuckoo.cpp -o .tmp/src/cuckoo.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/eval.cpp -o .tmp/src/eval.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/history.cpp -o .tmp/src/history.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/init.cpp -o .tmp/src/init.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/io.cpp -o .tmp/src/io.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/magic.cpp -o .tmp/src/magic.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/main.cpp -o .tmp/src/main.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/makemove.cpp -o .tmp/src/makemove.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/misc.cpp -o .tmp/src/misc.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/move.cpp -o .tmp/src/move.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/movegen.cpp -o .tmp/src/movegen.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/movepicker.cpp -o .tmp/src/movepicker.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/nnue.cpp -o .tmp/src/nnue.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/perft.cpp -o .tmp/src/perft.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/piece_data.cpp -o .tmp/src/piece_data.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/position.cpp -o .tmp/src/position.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/random.cpp -o .tmp/src/random.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/search.cpp -o .tmp/src/search.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/threads.cpp -o .tmp/src/threads.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/time_manager.cpp -o .tmp/src/time_manager.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/ttable.cpp -o .tmp/src/ttable.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/tune.cpp -o .tmp/src/tune.o
g++ -funroll-loops -O3 -flto -fno-exceptions -std=gnu++2a -DNDEBUG -Wall -Wcast-qual -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wnull-dereference -Wlogical-op -Wold-style-cast -Wundef -pedantic -DNETWORK_NAME="nn.net" -DEVALFILE="nn.net" -mcpu=apple-a14 -MMD -MP -c src/uci.cpp -o .tmp/src/uci.o
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'? [-Wunknown-warning-option]
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
src/init.cpp:173:9: warning: variable 'count' set but not used [-Wunused-but-set-variable]
int count = 0;
^
1 warning generated.
1 warning generated.
In file included from src/ttable.cpp:4:
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/xmmintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
#error "This header is only meant to be used on x86 and x64 architecture"
^
In file included from src/ttable.cpp:4:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/xmmintrin.h:17:
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
#error "This header is only meant to be used on x86 and x64 architecture"
^
1 warning generated.
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:37:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
__builtin_ia32_emms();
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/math.h:507:10: note: '__builtin_isless' declared here
return __builtin_isless((type)__x, (type)__y);
^
In file included from src/ttable.cpp:4:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/xmmintrin.h:17:
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:37:25: error: too few arguments to function call, expected 2, have 0
__builtin_ia32_emms();
~~~~~~~~~~~~~~~~~~~~^
1 warning generated.
1 warning generated.
1 warning generated.
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:54:19: error: use of undeclared identifier '__builtin_ia32_vec_init_v2si'
return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:71:12: error: use of undeclared identifier '__builtin_ia32_vec_ext_v2si'
return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0);
^
src/nnue.cpp:92:19: warning: unused variable 'REQUIRED_ITERS' [-Wunused-const-variable]
constexpr int32_t REQUIRED_ITERS = HIDDEN_SIZE / CHUNK_SIZE;
^
1 warning generated.
src/position.cpp:509:16: warning: variable 'other' set but not used [-Wunused-but-set-variable]
ZobristKey other = (originalKey ^ OldKey(1));
^
1 warning generated.
2 warnings generated.
1 warning generated.
2 warnings generated.
1 warning generated.
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:133:19: error: use of undeclared identifier '__builtin_ia32_packsswb'
return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
^
1 warning generated.
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:163:19: error: use of undeclared identifier '__builtin_ia32_packssdw'
return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
^
1 warning generated.
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:193:19: error: use of undeclared identifier '__builtin_ia32_packuswb'
return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
^
1 warning generated.
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:220:19: error: use of undeclared identifier '__builtin_ia32_punpckhbw'
return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
^
1 warning generated.
1 warning generated.
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:243:19: error: use of undeclared identifier '__builtin_ia32_punpckhwd'
return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:264:19: error: use of undeclared identifier '__builtin_ia32_punpckhdq'
return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
^
1 warning generated.
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:291:19: error: use of undeclared identifier '__builtin_ia32_punpcklbw'
return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:314:19: error: use of undeclared identifier '__builtin_ia32_punpcklwd'
return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2);
^
2 warnings generated.
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:335:19: error: use of undeclared identifier '__builtin_ia32_punpckldq'
return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:356:19: error: use of undeclared identifier '__builtin_ia32_paddb'; did you mean '__builtin_arm_addg'?
return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:37:5: note: '__builtin_arm_addg' declared here
__builtin_ia32_emms();
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:356:19: error: first argument of MTE builtin function must be a pointer ('__v8qi' (vector of 8 'char' values) invalid)
return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
^ ~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:377:19: error: use of undeclared identifier '__builtin_ia32_paddw'; did you mean '__builtin_arm_addg'?
return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:37:5: note: '__builtin_arm_addg' declared here
__builtin_ia32_emms();
^
/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/mmintrin.h:377:19: error: first argument of MTE builtin function must be a pointer ('__v4hi' (vector of 4 'short' values) invalid)
return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
^ ~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make: *** [.tmp/src/ttable.o] Error 1
I see you have a LiChess bot. I find the link https://lichess.org/player/bots but Alexandria is not there .. can we play online ?
HashTable init complete with 1398099 entries
id name Alexandria 4.0-dev
datagen
Starting datagen with 2 threads and an estimated total of 2 games
HashTable init complete with 5592403 entries
Datagen started successfully
Describe the bug
Checkmate takes precedence over the 50 move rule
To Reproduce
position fen 4Q3/8/1p4pk/1PbB1p1p/7P/p3P1PK/P3qP2/8 w - - 99 88
go depth 5
info time: -1 start: 279924963 stopOpt: 0 stopMax: 0 depth: 5 timeset: 0 nodeset: 0
1/1 0ms 62n +0.01 62kn/s d5g8
2/2 1ms 98n -0.01 98kn/s d5g8
3/4 2ms 180n -0.01 90kn/s d5b3
4/4 3ms 349n -0.01 116kn/s d5e4
5/5 4ms 413n -0.01 103kn/s d5g8
bestmove d5g8
Expected behavior
Mate in 1 evaluation
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.