1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-29 16:23:09 +00:00

Change move_is_ok() and square_is_ok() in something useful

As is defined now is always true, tested with:

  for (long i=-1000000; i < 1000000; i++)
      if (!move_is_ok(Move(i)))
          exit(0);

Reason is that move_from() and move_to() already truncate the
input value to something in the range [0, 63] that is always
a possible square.

So change definition to something useful.

The same applies also to square_is_ok()

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2011-01-06 10:32:27 +01:00
parent c14dae1fa2
commit 5fc8f86a4f
3 changed files with 4 additions and 5 deletions

View file

@ -135,7 +135,7 @@ const std::string move_to_uci(Move move, bool chess960) {
}
/// Overload the << operator, to make it easier to print moves.
/// Overload the << operator, to make it easier to print moves
std::ostream& operator << (std::ostream& os, Move m) {
@ -144,9 +144,9 @@ std::ostream& operator << (std::ostream& os, Move m) {
}
/// move_is_ok(), for debugging.
/// move_is_ok(), for debugging
bool move_is_ok(Move m) {
return square_is_ok(move_from(m)) && square_is_ok(move_to(m));
return move_from(m) != move_to(m); // Catches also MOVE_NONE
}

View file

@ -207,5 +207,4 @@ extern Move move_from_uci(const Position& pos, const std::string &str);
extern const std::string move_to_uci(Move m, bool chess960);
extern bool move_is_ok(Move m);
#endif // !defined(MOVE_H_INCLUDED)

View file

@ -177,7 +177,7 @@ inline bool rank_is_ok(Rank r) {
}
inline bool square_is_ok(Square s) {
return file_is_ok(square_file(s)) && rank_is_ok(square_rank(s));
return s >= SQ_A1 && s <= SQ_H8;
}
#endif // !defined(SQUARE_H_INCLUDED)