move_from_str(): fix new move_t promotion
This commit is contained in:
5
MEMO.org
5
MEMO.org
@@ -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);
|
||||||
|
}
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user