Use a Thread instead of an array index

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba
2012-04-04 07:54:02 +01:00
parent 0439a79566
commit 673bc5526f
9 changed files with 76 additions and 82 deletions

View File

@@ -29,6 +29,7 @@
/// The checkInfo struct is initialized at c'tor time and keeps info used
/// to detect if a move gives check.
class Position;
class Thread;
struct CheckInfo {
@@ -90,12 +91,12 @@ class Position {
public:
Position() {}
Position(const Position& pos, int th) { copy(pos, th); }
Position(const std::string& fen, bool isChess960, int th);
Position(const Position& p, Thread* t) { copy(p, t); }
Position(const std::string& f, bool c960, Thread* t) { from_fen(f, c960, t); }
// Text input/output
void copy(const Position& pos, int th);
void from_fen(const std::string& fen, bool isChess960);
void copy(const Position& pos, Thread* th);
void from_fen(const std::string& fen, bool isChess960, Thread* th);
const std::string to_fen() const;
void print(Move m = MOVE_NONE) const;
@@ -175,7 +176,7 @@ public:
Color side_to_move() const;
int startpos_ply_counter() const;
bool is_chess960() const;
int this_thread() const;
Thread& this_thread() const;
int64_t nodes_searched() const;
void set_nodes_searched(int64_t n);
template<bool SkipRepetition> bool is_draw() const;
@@ -223,7 +224,7 @@ private:
int64_t nodes;
int startPosPly;
Color sideToMove;
int threadID;
Thread* thisThread;
StateInfo* st;
int chess960;
@@ -433,8 +434,8 @@ inline PieceType Position::captured_piece_type() const {
return st->capturedType;
}
inline int Position::this_thread() const {
return threadID;
inline Thread& Position::this_thread() const {
return *thisThread;
}
#endif // !defined(POSITION_H_INCLUDED)