Permalink
Switch branches/tags
Commits on Sep 28, 2014
  1. Move ONE_PLY to be 1 instead of 2: final patch!

    mcostalba committed Sep 28, 2014
    Convert search() to recurse on a depth divided by 2
    
    No functional change.
  2. Move ONE_PLY to be 1 instead of 2: qsearch(), MovePicker and TT

    mcostalba committed Sep 28, 2014
    No functional change.
  3. Move ONE_PLY to be 1 instead of 2: reduction()

    mcostalba committed Sep 28, 2014
    No functional change.
  4. Move ONE_PLY to be 1 instead of 2: split()

    mcostalba committed Sep 28, 2014
    Update minimumSplitDepth and split()
    
    No functional change.
  5. Move ONE_PLY to be 1 instead of 2: search()

    mcostalba committed Sep 28, 2014
    This is the first patch of a very invasive and
    difficult series to remove the concept of half-ply
    from the engine.
    
    This is an important simplification but should be done in
    steps becuase it is easy to brake many things.
    
    - Fixed Perft
    
    - Fixed margins and reductions
    
    - Fixed ext
    
    - Fixed update_stats
    
    - Fixed move loop
    
    - Fixed IID
    
    - Fixed null search
    
    - Fixed razor margin
    
    No functional change.
Commits on Sep 21, 2014
  1. Rearrange evaluation constants definitions

    mcostalba committed with lucasart Sep 20, 2014
    Make them more uniform and consistent.
    
    No functional change.
    
    Conflicts:
    	src/evaluate.cpp
  2. Rename time variable to reflect UCI parameters

    mcostalba committed with lucasart Sep 18, 2014
    On top of previous patch, rename time variables to
    reflect the simplification of UCI parameters.
    
    It is more correct to use as varibales directly the
    corresponding UCI option, without intorducing redundant
    intermediate variables.
    
    This allows also to simplify the code.
    
    No functional change.
Commits on Sep 16, 2014
  1. Rename "Contempt Factor" to "Contempt"

    mcostalba committed with zamar Sep 8, 2014
    Suggested by Ronald and Lucas on talkchess.
    
    No functional change.
    
    Conflicts:
    	src/ucioption.cpp
  2. Retire struct Log

    mcostalba committed with zamar Sep 14, 2014
    No more used now that we have removed
    "Write Search Log" UCI option.
    
    No functional change.
Commits on Sep 4, 2014
  1. Small tweak to idle_loop()

    mcostalba committed with zamar Aug 29, 2014
    In case of a succesful late join we set again
    'searching' flag, so we can restart search
    immediately without an useless lock/unlock
    cycle.
    
    No functional change.
Commits on Aug 9, 2014
  1. Fix perft 1

    mcostalba committed with lucasart Aug 9, 2014
    Compute correct number of moves for this corner case.
    
    A smal bug crept in after recent perft rework.
    
    No functional change.
  2. Rework perft implementation

    mcostalba committed with lucasart Aug 8, 2014
    Unify various perft functions and move all the code
    to search.cpp.
    
    Avoid perft implementation to be splitted between
    benchmark.cpp (where it has no reason to be) and
    search.cpp
    
    No functional and no speed change (tested).
Commits on Aug 2, 2014
  1. Ensure printing UCI info in multi-pv case

    mcostalba committed with lucasart Aug 2, 2014
    After commit 94b1bbb, in case available root moves are less than multiPV, we
    could never reach condition:
    
    PVIdx + 1 == multiPV
    
    and as a consequence UCI output is not printed.
    
    Fixed suggested by Joerg Oster.
    
    No functional change.
Commits on Jul 28, 2014
  1. Fix a warning with MSVC 2010

    mcostalba committed with lucasart Jul 26, 2014
    Warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
    
    No functional change.
Commits on Jul 15, 2014
  1. Simplify evaluate_passed_pawns

    mcostalba committed with lucasart Jul 14, 2014
    From a suggestion by David Zar.
    
    No functional change.
Commits on Jul 11, 2014
  1. Small reformat to Skill class

    mcostalba committed with lucasart Jul 10, 2014
    Steamline a bit the implementation of
    skill levels. As a side effect we can
    retire MultiPV global and use a local
    variable instead.
    
    No functional change.
Commits on Jul 7, 2014
  1. Avoid 'double assigments' tricks

    mcostalba committed with lucasart Jul 5, 2014
    Bitboard init code is already noteasy to follow,
    so don't make it even harder using 'smart' code.
    
    Also reindent a while loop in standard way.
    
    No functional change.
Commits on Jun 21, 2014
  1. Some reformatting in pawns.cpp

    mcostalba committed Jun 21, 2014
    No functional change.
  2. Ensure ttValue != VALUE_NONE in singular extension search

    mcostalba committed Jun 21, 2014
    The assert:
    
      assert(ttValue != VALUE_NONE);
    
    Could fire for multiple reasons (although is very rare),
    for instance after an IID we can have ttMove != MOVE_NONE
    while ttValue is still set at VALUE_NONE.
    
    But not only this, actually SMP is a source of corrupted
    ttValue and anyhow we can detect the condition:
    
     ttMove != MOVE_NONE && ttValue == VALUE_NONE
    
    even north of IID.
    
    Reported by Ronald de Man.
    
    It is so rare that bench didn't change.
    
    bench: 7710548
Commits on Jun 20, 2014
  1. Better value clipping in game_phase()

    mcostalba committed Jun 20, 2014
    No functional change.
  2. Move game_phase() to Position

    mcostalba committed Jun 20, 2014
    It seems a more natural to place this
    function there.
    
    No functional change.
  3. Small renaming in material weights

    mcostalba committed Jun 20, 2014
    Also dropped some temporary variable: compiler
    is more than able to push on stack temp values
    by itself (verified).
    
    No functional change.
Commits on Jun 19, 2014
  1. Simplify a condition in is_KXK()

    mcostalba committed Jun 19, 2014
    No functional change.
Commits on Jun 15, 2014
  1. Remove -ansi flag for Clang

    mcostalba committed Jun 15, 2014
    It seems this flag is only for gcc and
    yields a warning under OSX Mavericks:
    
    clang: warning: argument unused during compilation: '-ansi'
    
    No functional change.
Commits on Jun 14, 2014
  1. Fix a warning with MSVC in 'analyze' mode

    mcostalba committed Jun 14, 2014
    Here MSVC is worried that
    
    StepAttacksBB[PAWN][psq]
    
    could overflow, so change psq initialization
    to clarify psq is always less than 64.
    
    No functional change.
  2. Triviality in UCI::loop

    mcostalba committed Jun 14, 2014
    Code style paranoid in action here :-)
    
    No functional change.
  3. Factor out pawn attacks in 'lever'

    mcostalba committed Jun 14, 2014
    Improves readibility and possibly speed.
    
    No functional change.
Commits on Jun 8, 2014
  1. Small renaming in Tracing

    mcostalba committed Jun 8, 2014
    No functional change.
  2. Check for an available slave early on

    mcostalba committed Jun 8, 2014
    Don't take the split lock if we don't have
    available slaves (about 30-40% of times).
    
    This new condition allows to retire the now
    redundant one on number of threads.
    
    No functional change.
Commits on Jun 6, 2014
  1. Use unsigned char as argument of std::isspace

    mcostalba committed Jun 6, 2014
    Although signature allows an int:
    
    int isspace( int ch );
    
    The behavior is undefined if the value of ch is
    not representable as unsigned char and is not
    equal to EOF.
    
    See
    
    http://en.cppreference.com/w/cpp/string/byte/isspace
    http://www.greenend.org.uk/rjk/tech/cfu.html
    
    This is really a tricky corner case of C standard!
    
    Spotted and reported by Ron Britvich.
    
    No functional change.
  2. Avoid to use nullChild

    mcostalba committed Jun 6, 2014
    Use instead:
    
    (ss-1)->currentMove == MOVE_NULL
    
    No functional change.
  3. Remove 'update gains' hack

    mcostalba committed Jun 6, 2014
    Use (move != MOVE_NONE) condition to
    filtering out updating gains at root.
    
    bench: 8454456
  4. Temporary revert previous patch

    mcostalba committed Jun 6, 2014
    Split previous patch in 2 steps: first remove
    the MOVE_NULL hack, then retire nullChild.
    
    The first step is a prerequisite
    for second one and affects bench.
    
    The second step (next patch) just removes nullChild
    without affecting bench.
    
    bench: 8205159
  5. Avoid to use nullChild

    mcostalba committed Jun 6, 2014
    Should be a non functional change, but
    for some reason bench is changed.
    
    bench: 8454456
  6. Move Tempo to evaluation

    mcostalba committed Jun 6, 2014
    No functional change.