X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=10642ad39f240e5e04198a61884069c16e7af1a3;hp=601d0703761a3fa5a1e1e51ac6189a1e80c82472;hb=fd35d92c1e639d22ed10fb225272f08bd9afc885;hpb=97e0b0a01e7cd9eb942b76637b6323d0788202ae diff --git a/src/types.h b/src/types.h index 601d0703..10642ad3 100644 --- a/src/types.h +++ b/src/types.h @@ -99,7 +99,7 @@ typedef uint64_t Key; typedef uint64_t Bitboard; const int MAX_MOVES = 256; -const int MAX_PLY = 100; +const int MAX_PLY = 256; const int MAX_PLY_PLUS_2 = MAX_PLY + 2; const Bitboard FileABB = 0x0101010101010101ULL; @@ -162,11 +162,11 @@ enum ScaleFactor { SCALE_FACTOR_NONE = 255 }; -enum ValueType { - VALUE_TYPE_NONE = 0, - VALUE_TYPE_UPPER = 1, - VALUE_TYPE_LOWER = 2, - VALUE_TYPE_EXACT = VALUE_TYPE_UPPER | VALUE_TYPE_LOWER +enum Bound { + BOUND_NONE = 0, + BOUND_UPPER = 1, + BOUND_LOWER = 2, + BOUND_EXACT = BOUND_UPPER | BOUND_LOWER }; enum Value { @@ -333,6 +333,7 @@ const Value QueenValueEndgame = Value(0x9FE); extern const Value PieceValueMidgame[17]; // Indexed by Piece or PieceType extern const Value PieceValueEndgame[17]; extern int SquareDistance[64][64]; +extern uint8_t BitCount8Bit[256]; inline Color operator~(Color c) { return Color(c ^ 1); @@ -485,23 +486,18 @@ inline const std::string square_to_string(Square s) { /// Our insertion sort implementation, works with pointers and iterators and is /// guaranteed to be stable, as is needed. template -void sort(K firstMove, K lastMove) +void sort(K first, K last) { - T value; - K cur, p, d; - - if (firstMove != lastMove) - for (cur = firstMove + 1; cur != lastMove; cur++) - { - p = d = cur; - value = *p--; - if (*p < value) - { - do *d = *p; - while (--d != firstMove && *--p < value); - *d = value; - } - } + T tmp; + K p, q; + + for (p = first + 1; p < last; p++) + { + tmp = *p; + for (q = p; q != first && *(q-1) < tmp; --q) + *q = *(q-1); + *q = tmp; + } } #endif // !defined(TYPES_H_INCLUDED)