move_from_str(): fix new move_t promotion

This commit is contained in:
2024-07-03 21:09:00 +02:00
parent 91abc3e26d
commit 2870101896
2 changed files with 6 additions and 1 deletions

View File

@@ -16,3 +16,8 @@
bitboard_t first = popbit(bb); bitboard_t first = popbit(bb);
square_t sq = square_of(first); square_t sq = square_of(first);
} }
Or maybe faster:
for (; bb; bb &= bb - 1) {
sq = _tzcnt_u64(bb);
}

View File

@@ -143,7 +143,7 @@ move_t move_from_str(const char *str)
piece_type_t promoted = piece_t_from_char(*(str+4)); piece_type_t promoted = piece_t_from_char(*(str+4));
if (promoted != NO_PIECE_TYPE) { /* promotion */ if (promoted != NO_PIECE_TYPE) { /* promotion */
move = move_make_promote(from, to, promoted); move = move_make_promote(from, to, promoted - 2);
} else { } else {
move = move_make(from, to); move = move_make(from, to);
} }