X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fdepth.h;h=f77dd0d3d926ac20dda6f5c48560c528db64ed63;hp=d0d0943c23e4a8eebb596e210e9258fa44e64830;hb=a5ae7fe26030bdd73a95fde3ebe841abfe84ec5e;hpb=27393ebae2e689c86f77777d3ba9aae39b9c89b8 diff --git a/src/depth.h b/src/depth.h index d0d0943c..f77dd0d3 100644 --- a/src/depth.h +++ b/src/depth.h @@ -1,7 +1,7 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008-2009 Marco Costalba + Copyright (C) 2008-2010 Marco Costalba, Joona Kiiski, Tord Romstad Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,40 +21,20 @@ #if !defined(DEPTH_H_INCLUDED) #define DEPTH_H_INCLUDED +#include "types.h" + //// //// Types //// enum Depth { - DEPTH_ZERO = 0, - DEPTH_MAX = 200 // 100 * OnePly; -}; - - -//// -//// Constants -//// -const Depth OnePly = Depth(2); + ONE_PLY = 2, + DEPTH_ZERO = 0, + DEPTH_NONE = -127 * ONE_PLY +}; -//// -//// Inline functions -//// - -inline Depth operator+ (Depth d, int i) { return Depth(int(d) + i); } -inline Depth operator+ (Depth d1, Depth d2) { return Depth(int(d1) + int(d2)); } -inline void operator+= (Depth &d, int i) { d = Depth(int(d) + i); } -inline void operator+= (Depth &d1, Depth d2) { d1 += int(d2); } -inline Depth operator- (Depth d, int i) { return Depth(int(d) - i); } -inline Depth operator- (Depth d1, Depth d2) { return Depth(int(d1) - int(d2)); } -inline void operator-= (Depth &d, int i) { d = Depth(int(d) - i); } -inline void operator-= (Depth &d1, Depth d2) { d1 -= int(d2); } -inline Depth operator* (Depth d, int i) { return Depth(int(d) * i); } -inline Depth operator* (int i, Depth d) { return Depth(int(d) * i); } -inline void operator*= (Depth &d, int i) { d = Depth(int(d) * i); } -inline Depth operator/ (Depth d, int i) { return Depth(int(d) / i); } -inline void operator/= (Depth &d, int i) { d = Depth(int(d) / i); } - +ENABLE_OPERATORS_ON(Depth); #endif // !defined(DEPTH_H_INCLUDED)