1
0
Fork 0

Use a constant instead of value_mate_in(PLY_MAX)

And also apply the same to value_mated_in(PLY_MAX)

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
sf_2.3.1_base
Marco Costalba 2011-04-01 14:35:39 +02:00
parent b27e237b04
commit 408fdcc93f
3 changed files with 20 additions and 15 deletions

View File

@ -920,7 +920,7 @@ namespace {
&& !isCheck
&& refinedValue < beta - razor_margin(depth)
&& ttMove == MOVE_NONE
&& abs(beta) < value_mate_in(PLY_MAX)
&& abs(beta) < VALUE_MATE_IN_PLY_MAX
&& !pos.has_pawn_on_7th(pos.side_to_move()))
{
Value rbeta = beta - razor_margin(depth);
@ -939,7 +939,7 @@ namespace {
&& depth < RazorDepth
&& !isCheck
&& refinedValue >= beta + futility_margin(depth, 0)
&& abs(beta) < value_mate_in(PLY_MAX)
&& abs(beta) < VALUE_MATE_IN_PLY_MAX
&& pos.non_pawn_material(pos.side_to_move()))
return refinedValue - futility_margin(depth, 0);
@ -949,7 +949,7 @@ namespace {
&& depth > ONE_PLY
&& !isCheck
&& refinedValue >= beta
&& abs(beta) < value_mate_in(PLY_MAX)
&& abs(beta) < VALUE_MATE_IN_PLY_MAX
&& pos.non_pawn_material(pos.side_to_move()))
{
ss->currentMove = MOVE_NULL;
@ -970,7 +970,7 @@ namespace {
if (nullValue >= beta)
{
// Do not return unproven mate scores
if (nullValue >= value_mate_in(PLY_MAX))
if (nullValue >= VALUE_MATE_IN_PLY_MAX)
nullValue = beta;
if (depth < 6 * ONE_PLY)
@ -1131,7 +1131,7 @@ split_point_start: // At split points actual search starts from here
// Move count based pruning
if ( moveCount >= futility_move_count(depth)
&& !(threatMove && connected_threat(pos, move, threatMove))
&& bestValue > value_mated_in(PLY_MAX)) // FIXME bestValue is racy
&& bestValue > VALUE_MATED_IN_PLY_MAX) // FIXME bestValue is racy
{
if (SpNode)
lock_grab(&(sp->lock));
@ -1162,7 +1162,7 @@ split_point_start: // At split points actual search starts from here
// Prune moves with negative SEE at low depths
if ( predictedDepth < 2 * ONE_PLY
&& bestValue > value_mated_in(PLY_MAX)
&& bestValue > VALUE_MATED_IN_PLY_MAX
&& pos.see_sign(move) < 0)
{
if (SpNode)
@ -1494,7 +1494,7 @@ split_point_start: // At split points actual search starts from here
// Detect non-capture evasions that are candidate to be pruned
evasionPrunable = isCheck
&& bestValue > value_mated_in(PLY_MAX)
&& bestValue > VALUE_MATED_IN_PLY_MAX
&& !pos.move_is_capture(move)
&& !pos.can_castle(pos.side_to_move());
@ -1674,10 +1674,10 @@ split_point_start: // At split points actual search starts from here
Value value_to_tt(Value v, int ply) {
if (v >= value_mate_in(PLY_MAX))
if (v >= VALUE_MATE_IN_PLY_MAX)
return v + ply;
if (v <= value_mated_in(PLY_MAX))
if (v <= VALUE_MATED_IN_PLY_MAX)
return v - ply;
return v;
@ -1689,10 +1689,10 @@ split_point_start: // At split points actual search starts from here
Value value_from_tt(Value v, int ply) {
if (v >= value_mate_in(PLY_MAX))
if (v >= VALUE_MATE_IN_PLY_MAX)
return v - ply;
if (v <= value_mated_in(PLY_MAX))
if (v <= VALUE_MATED_IN_PLY_MAX)
return v + ply;
return v;
@ -1811,8 +1811,8 @@ split_point_start: // At split points actual search starts from here
Value v = value_from_tt(tte->value(), ply);
return ( tte->depth() >= depth
|| v >= Max(value_mate_in(PLY_MAX), beta)
|| v < Min(value_mated_in(PLY_MAX), beta))
|| v >= Max(VALUE_MATE_IN_PLY_MAX, beta)
|| v < Min(VALUE_MATED_IN_PLY_MAX, beta))
&& ( ((tte->type() & VALUE_TYPE_LOWER) && v >= beta)
|| ((tte->type() & VALUE_TYPE_UPPER) && v < beta));

View File

@ -23,8 +23,6 @@
#include "move.h"
#include "types.h"
const int PLY_MAX = 100;
const int PLY_MAX_PLUS_2 = PLY_MAX + 2;
/// The SearchStack struct keeps track of the information we need to remember
/// from nodes shallower and deeper in the tree during the search. Each

View File

@ -158,6 +158,9 @@ const bool CpuIs64Bit = false;
typedef uint64_t Key;
typedef uint64_t Bitboard;
const int PLY_MAX = 100;
const int PLY_MAX_PLUS_2 = PLY_MAX + 2;
enum ValueType {
VALUE_TYPE_NONE = 0,
VALUE_TYPE_UPPER = 1,
@ -172,6 +175,10 @@ enum Value {
VALUE_MATE = 30000,
VALUE_INFINITE = 30001,
VALUE_NONE = 30002,
VALUE_MATE_IN_PLY_MAX = VALUE_MATE - PLY_MAX,
VALUE_MATED_IN_PLY_MAX = -VALUE_MATE + PLY_MAX,
VALUE_ENSURE_INTEGER_SIZE_P = INT_MAX,
VALUE_ENSURE_INTEGER_SIZE_N = INT_MIN
};