stockfish
10 years agoRevert refinedValue in ProbCut
Marco Costalba [Thu, 9 Jun 2011 20:57:42 +0000 (21:57 +0100)]
Revert refinedValue in ProbCut

It seems much worst in number of nodes seacrhed to reach
the depth and anyhow does not give any advantage to the
Onno's oroginal one.

So revert by now and perhaps readd when we find something
clearly better.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoUse double rotate for magic generation
Marco Costalba [Thu, 9 Jun 2011 17:09:19 +0000 (18:09 +0100)]
Use double rotate for magic generation

Allow to choose among 4096 instances of pseudo-random
sequences instead of the previous 64 so the probability
to find a better sequence increases and actually we have
a much better 64 bit case and we can also use the 64 bit
version of pick_magic() also for 32 bits and althoug sub
optimal, because now we can have more choices results are
even slightly better also for 32 bit.

Use also a faster submask().

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoUse refinedValue in ProbCut condition
Marco Costalba [Wed, 8 Jun 2011 17:03:26 +0000 (18:03 +0100)]
Use refinedValue in ProbCut condition

After 12613 games at 20"+0.1 on QUAD
Mod vs Orig 1870 - 1863 - 8880 ELO +0 (+- 3.3)

So no performance change but it is a code semplification
and also is more easy to understand.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoSmall pick_magic() touches
Marco Costalba [Wed, 8 Jun 2011 06:04:13 +0000 (07:04 +0100)]
Small pick_magic() touches

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoFind magics on the fly
Marco Costalba [Tue, 7 Jun 2011 13:12:07 +0000 (15:12 +0200)]
Find magics on the fly

Good result for 32 bit case where computation is very fast,
still not satisfying on 64 bit case where the magics seem
a bit harder to get.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoPartially revert previous patches
Marco Costalba [Mon, 6 Jun 2011 07:58:59 +0000 (09:58 +0200)]
Partially revert previous patches

Due to a -2% speed penalty. This patch takes the best
of the previous series without the regression due to
introduction of Magic struct.

Speedup against previous revision is of almost 3% !!!!

No functional change both in 32 and 64 bits.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoSkip offset calculation in slider attacks
Marco Costalba [Sun, 5 Jun 2011 13:41:59 +0000 (14:41 +0100)]
Skip offset calculation in slider attacks

Another small simplification and micro optimization.

No functional change in both 32 and 64 bits.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoGet rid of Shift[] tables
Marco Costalba [Sun, 5 Jun 2011 11:09:55 +0000 (12:09 +0100)]
Get rid of Shift[] tables

We can calculate them counting the masks bits.

Also small tweak to sliding_attacks()

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoBetter name and document magic botboard stuff
Marco Costalba [Sun, 5 Jun 2011 08:04:57 +0000 (09:04 +0100)]
Better name and document magic botboard stuff

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoTry to keep memory access in the same cache line
Marco Costalba [Sat, 4 Jun 2011 15:36:52 +0000 (16:36 +0100)]
Try to keep memory access in the same cache line

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoSkip draw by repetition check in qsearch
Marco Costalba [Sat, 4 Jun 2011 10:29:54 +0000 (11:29 +0100)]
Skip draw by repetition check in qsearch

Cut in half the time spent in pos.draw() that accounts
for a whopping 1% of total time !

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoMove bitboards initializations under one function
Marco Costalba [Sat, 4 Jun 2011 09:16:44 +0000 (10:16 +0100)]
Move bitboards initializations under one function

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoCalculate Bit Scan tables at initialization
Marco Costalba [Sat, 4 Jun 2011 07:54:57 +0000 (08:54 +0100)]
Calculate Bit Scan tables at initialization

Instead of hard-coding them.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoDo not sort negative non captures at low depth
Marco Costalba [Sat, 4 Jun 2011 05:25:16 +0000 (06:25 +0100)]
Do not sort negative non captures at low depth

Speedup of the whole 3 patch series is of 2,5% !!

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoSplit non capture in two sets when ordering
Marco Costalba [Fri, 3 Jun 2011 21:10:23 +0000 (22:10 +0100)]
Split non capture in two sets when ordering

But keep same ordering. This patch is prerequisite
for future work.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoInline extension()
Marco Costalba [Fri, 3 Jun 2011 12:13:28 +0000 (13:13 +0100)]
Inline extension()

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoUse TT also in Root nodes
Marco Costalba [Fri, 3 Jun 2011 11:34:51 +0000 (12:34 +0100)]
Use TT also in Root nodes

And other small stuff ti be tested in SMP

No functional change in single thread.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoMicrooptimize generate<MV_EVASION>
Marco Costalba [Thu, 2 Jun 2011 11:14:44 +0000 (12:14 +0100)]
Microoptimize generate<MV_EVASION>

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoNew extended probcut implementation
Marco Costalba [Sat, 21 May 2011 16:17:11 +0000 (17:17 +0100)]
New extended probcut implementation

Here the idea is to test probcut not only after bad
captures, but after any bad move, i.e. any move that
leaves the opponent with a good capture.

Ported by a patch from Onno, the difference from
original version is that we have moved probcut after
null search.

After 7917 games 4 threads 20"+0.1
Mod vs Orig: 1261 - 1095 - 5561 ELO +7 (+- 4.2) LOS 96%

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoFix SAN disambiguation bug
Marco Costalba [Sun, 29 May 2011 09:47:13 +0000 (10:47 +0100)]
Fix SAN disambiguation bug

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRename PH_TT_MOVES in PH_TT_MOVE
Marco Costalba [Sun, 29 May 2011 08:17:03 +0000 (09:17 +0100)]
Rename PH_TT_MOVES in PH_TT_MOVE

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRetire mateKiller
Marco Costalba [Wed, 25 May 2011 20:36:16 +0000 (21:36 +0100)]
Retire mateKiller

Practically useless:
After 6456 games 1281 - 1293 - 3882 ELO +0 (+- 5.5)

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoUnify MovePickerExt template parameters
Marco Costalba [Sat, 28 May 2011 11:57:36 +0000 (12:57 +0100)]
Unify MovePickerExt template parameters

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoUnify search() template parameters
Marco Costalba [Sat, 28 May 2011 11:13:42 +0000 (12:13 +0100)]
Unify search() template parameters

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoFix moveCount after legality check delay
Marco Costalba [Sat, 28 May 2011 09:35:52 +0000 (10:35 +0100)]
Fix moveCount after legality check delay

We really want PV moves and also Split Point moves to be
legal to avoid messing the move counter and corresonding
PV move detection or shared Split Point's counter variable.

This fixes a real bug where a position with only one move
allowed returns bestValue == -VALUE_INFINITE if the move
turns out to be illegal.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoA bit of reformatting after previous series
Marco Costalba [Tue, 24 May 2011 07:07:20 +0000 (09:07 +0200)]
A bit of reformatting after previous series

And some documentation update.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoTest for legality only after futility pruning
Marco Costalba [Mon, 23 May 2011 13:14:47 +0000 (15:14 +0200)]
Test for legality only after futility pruning

Although there is a small functional change it seems
an improvment of about 2% in speed !

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoMove legal check out of MovePicker
Marco Costalba [Mon, 23 May 2011 12:58:07 +0000 (14:58 +0200)]
Move legal check out of MovePicker

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRename move_is_legal() in move_is_pl()
Marco Costalba [Mon, 23 May 2011 10:04:59 +0000 (12:04 +0200)]
Rename move_is_legal() in move_is_pl()

We disjoint pseudo legal detection from full legal detection.

It will be used by future patches.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoOutput debug info to cerr
Marco Costalba [Mon, 23 May 2011 14:37:54 +0000 (16:37 +0200)]
Output debug info to cerr

So to be clearly visible when redirecting stdout to /dev/null

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoFix a shadowed variable warning under gcc
Marco Costalba [Mon, 23 May 2011 08:18:26 +0000 (10:18 +0200)]
Fix a shadowed variable warning under gcc

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoBug wrong evasion detection for king moves
Marco Costalba [Sun, 22 May 2011 09:57:06 +0000 (10:57 +0100)]
Bug wrong evasion detection for king moves

When we are in check and we move the king then testing with
pl_move_is_legal(m, pinned) is not enough becuase we cannot
rely on attackers_to() but we have to explicitly remove the
king form the occupied bitboard to catch as invalid moves like
b1a1 when opposite queen is on c1.

Our move generator already produces correct evasions so we
just need to add the extra verification to move_is_legal().

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoAdd file distance condition in move_is_legal()
Marco Costalba [Sun, 22 May 2011 08:35:34 +0000 (09:35 +0100)]
Add file distance condition in move_is_legal()

Found another missed control in move_is_legal() thanks to
brute force testing.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRemove useless casts in types.h
Marco Costalba [Sun, 22 May 2011 07:52:39 +0000 (08:52 +0100)]
Remove useless casts in types.h

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoPromotion piece must be empty if is not a promotion
Marco Costalba [Sun, 22 May 2011 07:35:14 +0000 (08:35 +0100)]
Promotion piece must be empty if is not a promotion

Add a new check in  move_is_legal()

Avoid useless casting in move.h while there.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoIntroduce MovePicker::isBadCapture() and use in probcut
Marco Costalba [Sat, 21 May 2011 09:40:36 +0000 (10:40 +0100)]
Introduce MovePicker::isBadCapture() and use in probcut

Small functional change due to the fact that now we skip
probcut on evasions.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoCorrectly handle castle in see()
Marco Costalba [Fri, 20 May 2011 05:57:20 +0000 (06:57 +0100)]
Correctly handle castle in see()

Suggested by Onno.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoFix brekage from previous patches
Marco Costalba [Wed, 18 May 2011 05:46:08 +0000 (06:46 +0100)]
Fix brekage from previous patches

It is interesting the fact that we need to test for
move_is_castle(m) anyway and not relying on testing
if destination square is attacked. Indeed the latter
condition fails if the castling rook is attacked,
castling is coded as "king captures the rook" but it
is legal in that case.

Verified no functional change with beginning of the series.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoMicro-optimize pl_move_is_legal()
Marco Costalba [Tue, 17 May 2011 22:44:55 +0000 (23:44 +0100)]
Micro-optimize pl_move_is_legal()

Remove the check for castling moves because it is
already implicit in the check for king moves and castling
is so rare that doing the check is just a slow down.

Thanks to Marek Kwiatkowski.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRetire move_is_capture_or_promotion()
Marco Costalba [Tue, 17 May 2011 22:39:14 +0000 (23:39 +0100)]
Retire move_is_capture_or_promotion()

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoFix move_is_capture() definition
Marco Costalba [Tue, 17 May 2011 22:31:40 +0000 (23:31 +0100)]
Fix move_is_capture() definition

The structure of move is changed so should also the two
functions. It happens that it works by accident !

Bug spotted by Marek Kwiatkowski

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRetire test for king moves in see()
Marco Costalba [Tue, 17 May 2011 10:24:06 +0000 (12:24 +0200)]
Retire test for king moves in see()

We already test this condition in see_sign() and
so it is almost always a redundant verification.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRetire Position::see(Square from, Square to) overload
Marco Costalba [Tue, 17 May 2011 10:09:45 +0000 (12:09 +0200)]
Retire Position::see(Square from, Square to) overload

Alomst unuseful.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoPrefer an assert to a comment in position.h
Marco Costalba [Tue, 17 May 2011 09:47:52 +0000 (11:47 +0200)]
Prefer an assert to a comment in position.h

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoLet 'make' with no arguments to show compilation options
Marco Costalba [Tue, 17 May 2011 07:09:26 +0000 (09:09 +0200)]
Let 'make' with no arguments to show compilation options

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoPrefer ttMove to tte->move() in search()
Marco Costalba [Mon, 16 May 2011 08:59:51 +0000 (10:59 +0200)]
Prefer ttMove to tte->move() in search()

Avoids aliasing problems due to TT overwrites.

Node changes becuase of IID.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoUse standard naming conventions in book.cpp
Marco Costalba [Sun, 8 May 2011 09:40:30 +0000 (10:40 +0100)]
Use standard naming conventions in book.cpp

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoReintroduce operator>>() in Book class
Marco Costalba [Sun, 8 May 2011 08:12:28 +0000 (09:12 +0100)]
Reintroduce operator>>() in Book class

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRestore development version
Marco Costalba [Sun, 8 May 2011 08:01:41 +0000 (09:01 +0100)]
Restore development version

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoStockfish 2.1.1
Marco Costalba [Sun, 8 May 2011 07:46:33 +0000 (08:46 +0100)]
Stockfish 2.1.1

stockfish bench signature is: 6487630

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoSpell fix in evaluate.cpp
Marco Costalba [Sat, 7 May 2011 09:08:53 +0000 (10:08 +0100)]
Spell fix in evaluate.cpp

Spotted by Eelco.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoFix reading of book file
Marco Costalba [Sat, 7 May 2011 08:03:59 +0000 (09:03 +0100)]
Fix reading of book file

Bug is subtle because appears only under MSVC 32 bits in
optimized version, hence was missed before.

Bug is due to the fact that evaluation order of terms of a
sum is undefined by the standard, so in get_int() we have:

return 256 * get_int<n-1>() + bookFile.get();

And if get() is evaluated before get_int() we have a corrupted
key.

The patch rewrites the code in a more natural and predictable way.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRemove redundant assignment in search()
Marco Costalba [Thu, 5 May 2011 09:55:28 +0000 (11:55 +0200)]
Remove redundant assignment in search()

It is already assigned few lines before.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRestore development version
Marco Costalba [Thu, 5 May 2011 05:35:42 +0000 (06:35 +0100)]
Restore development version

No functional change.

10 years agoFix a warning in debug mode
Marco Costalba [Tue, 3 May 2011 18:29:21 +0000 (19:29 +0100)]
Fix a warning in debug mode

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoStockfish 2.1
Marco Costalba [Tue, 3 May 2011 08:00:10 +0000 (10:00 +0200)]
Stockfish 2.1

stockfish bench signature is: 6487630

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoReintroduce permanent PV entries in TT
Marco Costalba [Tue, 3 May 2011 07:54:22 +0000 (09:54 +0200)]
Reintroduce permanent PV entries in TT

We are now ready to release so restore this
improvment before 2.1

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoUpdate Readme.txt to 32 threads and bsfq on Windows
Marco Costalba [Tue, 3 May 2011 07:24:51 +0000 (09:24 +0200)]
Update Readme.txt to 32 threads and bsfq on Windows

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoFix bug in evaluate_passed_pawns()
Marco Costalba [Sat, 30 Apr 2011 12:02:56 +0000 (13:02 +0100)]
Fix bug in evaluate_passed_pawns()

If blockSq is already on rank 8, blockSq + pawn_push(Us) is on rank 9,
outside of board. It does not make sense to measure king distance to
a field outside the board.

Bug spotted by Fruity:
http://open-chess.org/viewtopic.php?f=5&t=1156&start=10

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRetire "Pawn Structure" UCI option
Marco Costalba [Mon, 2 May 2011 12:15:06 +0000 (14:15 +0200)]
Retire "Pawn Structure" UCI option

Almost useless for the user and now is in sync with
the material value that is already weighted.

A small speedup of 0,4% because we avoid an apply_weight()
call in a fast path.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRename stuff in evaluate.cpp
Marco Costalba [Mon, 2 May 2011 07:43:16 +0000 (09:43 +0200)]
Rename stuff in evaluate.cpp

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoAdditional tweaks in evaluate_unstoppable_pawns()
Marco Costalba [Sun, 1 May 2011 10:00:19 +0000 (11:00 +0100)]
Additional tweaks in evaluate_unstoppable_pawns()

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRemove redundancy in evaluate_unstoppable_pawns()
Marco Costalba [Sun, 1 May 2011 09:31:27 +0000 (10:31 +0100)]
Remove redundancy in evaluate_unstoppable_pawns()

Spotted by Fruity
http://open-chess.org/viewtopic.php?f=5&t=1156&start=20

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoSmall reformat in evaluate_unstoppable_pawns()
Marco Costalba [Sun, 1 May 2011 06:11:58 +0000 (07:11 +0100)]
Small reformat in evaluate_unstoppable_pawns()

Also simplify tracing because evaluate_unstoppable_pawns()
return always zero if both colors have non pawn material.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoUpdate polyglot.ini
Marco Costalba [Sun, 1 May 2011 06:49:40 +0000 (07:49 +0100)]
Update polyglot.ini

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRename check related functions
Marco Costalba [Fri, 29 Apr 2011 14:26:48 +0000 (16:26 +0200)]
Rename check related functions

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoSmall renaming in thread.cpp
Marco Costalba [Fri, 29 Apr 2011 08:07:23 +0000 (10:07 +0200)]
Small renaming in thread.cpp

To better self document the code.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRename Option in UCIOPtion
Marco Costalba [Fri, 29 Apr 2011 07:18:54 +0000 (09:18 +0200)]
Rename Option in UCIOPtion

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoLimit history range to +-2000
Marco Costalba [Thu, 28 Apr 2011 07:00:10 +0000 (08:00 +0100)]
Limit history range to +-2000

Extensive test series on tweaking history limit and bonus
formula. At the end this was the best.

After 11959 games:

Mod vs Orig 2087 - 1934 - 7938 ELO +4 (+- 3.7) LOS 92%

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoPerft counts leaf nodes not generated moves.
Marco Costalba [Wed, 27 Apr 2011 22:20:42 +0000 (23:20 +0100)]
Perft counts leaf nodes not generated moves.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoUse probe() as name for looking up into an hash table
Marco Costalba [Tue, 26 Apr 2011 12:10:02 +0000 (14:10 +0200)]
Use probe() as name for looking up into an hash table

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoTidy up uci.cpp and siblings
Marco Costalba [Tue, 26 Apr 2011 09:19:57 +0000 (11:19 +0200)]
Tidy up uci.cpp and siblings

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoMove OpeningBook and RK where are actually used
Marco Costalba [Tue, 26 Apr 2011 07:02:12 +0000 (09:02 +0200)]
Move OpeningBook and RK where are actually used

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoFix a compile error with gcc
Marco Costalba [Mon, 25 Apr 2011 21:59:56 +0000 (22:59 +0100)]
Fix a compile error with gcc

It seems gcc does not like an extra semicolon.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoMove MovePickerExt specializations away from headings
Marco Costalba [Mon, 25 Apr 2011 12:14:23 +0000 (13:14 +0100)]
Move MovePickerExt specializations away from headings

This unclutters a bit the heading part of search.cpp

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoTidy up benchmark.cpp
Marco Costalba [Mon, 25 Apr 2011 09:46:52 +0000 (10:46 +0100)]
Tidy up benchmark.cpp

Node count is different just becuase now we don't log on
"bench.txt" file anymore so that we avoid some calls to
pretty_pv() that calls Position::do_move().

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoLarge API rename in ThreadsManager
Marco Costalba [Sun, 24 Apr 2011 23:22:48 +0000 (00:22 +0100)]
Large API rename in ThreadsManager

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoDon't allocate MAX_THREADS hash tables if not necessary
Marco Costalba [Sun, 24 Apr 2011 17:46:26 +0000 (18:46 +0100)]
Don't allocate MAX_THREADS hash tables if not necessary

This prevent crashing on mobile devices with limited RAM,
currently with MAX_THREADS = 32 we would need 44MB that
could be too much for a poor cellphone.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoMove pawn and material tables under Thread class
Marco Costalba [Sun, 24 Apr 2011 08:20:03 +0000 (09:20 +0100)]
Move pawn and material tables under Thread class

This change allows to remove some quite a bit of code
and seems the natural thing to do.

Introduced file thread.cpp to move away from search.cpp a lot
of threads related stuff.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRename MOVES_MAX in MAX_MOVES
Marco Costalba [Sun, 24 Apr 2011 07:54:36 +0000 (08:54 +0100)]
Rename MOVES_MAX in MAX_MOVES

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRetire extensions as UCI option
Marco Costalba [Sun, 24 Apr 2011 07:31:47 +0000 (08:31 +0100)]
Retire extensions as UCI option

There is no real need why an user should change these values.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoDocument why we use per-thread pawn and material tables
Marco Costalba [Sun, 24 Apr 2011 07:18:39 +0000 (08:18 +0100)]
Document why we use per-thread pawn and material tables

Arisen from a discussion on talkchess.

No fnctional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoFix some comments in early stop detection
Marco Costalba [Sat, 23 Apr 2011 14:42:23 +0000 (15:42 +0100)]
Fix some comments in early stop detection

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRetire UseLogFile in search.cpp
Marco Costalba [Sat, 23 Apr 2011 13:57:05 +0000 (14:57 +0100)]
Retire UseLogFile in search.cpp

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoIntroduce and use SearchLimits
Marco Costalba [Fri, 22 Apr 2011 13:52:03 +0000 (15:52 +0200)]
Introduce and use SearchLimits

Pack a bit of global variables related to search limits in
a single struct.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoUse move_is_special() in pawn endgame condition
Marco Costalba [Fri, 22 Apr 2011 10:02:54 +0000 (12:02 +0200)]
Use move_is_special() in pawn endgame condition

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRetire SearchStartTime global
Marco Costalba [Fri, 22 Apr 2011 09:57:22 +0000 (11:57 +0200)]
Retire SearchStartTime global

Use a static variable inside current_search_time() instead.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoReduce loops in init_threads() and exit_threads()
Marco Costalba [Fri, 22 Apr 2011 07:55:47 +0000 (09:55 +0200)]
Reduce loops in init_threads() and exit_threads()

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoMove wake_sleeping_thread() to Thread class
Marco Costalba [Wed, 20 Apr 2011 09:18:36 +0000 (11:18 +0200)]
Move wake_sleeping_thread() to Thread class

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoCorrectly implementg selDepth feature
Marco Costalba [Tue, 19 Apr 2011 08:24:43 +0000 (10:24 +0200)]
Correctly implementg selDepth feature

Send to GUI the deepest search depth apart from
qsearch of the PV line.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoMove sleepLock and sleepCond under Thread
Marco Costalba [Tue, 19 Apr 2011 07:56:59 +0000 (09:56 +0200)]
Move sleepLock and sleepCond under Thread

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoIncrease risk of blunders at low skill levels
Marco Costalba [Tue, 19 Apr 2011 07:29:28 +0000 (09:29 +0200)]
Increase risk of blunders at low skill levels

According to Heinz's tests current setup is in fact too
strong for weak players. This seems the best according
to his tests.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoUse only history to score non captures
Marco Costalba [Sat, 16 Apr 2011 09:25:22 +0000 (10:25 +0100)]
Use only history to score non captures

It seems gain is practically unuseful, so remove.

After 13554 games:
Mod vs Orig 2252 - 2319 - 8983 ELO -1 (+- 3.4)

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoSmall simplification in scale_by_game_phase()
Marco Costalba [Sun, 17 Apr 2011 09:31:26 +0000 (10:31 +0100)]
Small simplification in scale_by_game_phase()

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoMove ply to SearchStack
Marco Costalba [Sat, 16 Apr 2011 13:41:53 +0000 (14:41 +0100)]
Move ply to SearchStack

Shrink search() signature for better readibility.

We get also a nice 1.3% speed increase.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoRemove one indentation level in get_next_move()
Marco Costalba [Sat, 16 Apr 2011 10:24:30 +0000 (11:24 +0100)]
Remove one indentation level in get_next_move()

Small renaming and fix some comments.

No functional and no speed change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoCode style in tt.cpp
Marco Costalba [Fri, 15 Apr 2011 16:14:12 +0000 (18:14 +0200)]
Code style in tt.cpp

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoBetter self-document LMR reduction() formula
Marco Costalba [Fri, 15 Apr 2011 15:41:45 +0000 (17:41 +0200)]
Better self-document LMR reduction() formula

Suggested by Onno

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoPromote OptionsMap to a class
Marco Costalba [Thu, 14 Apr 2011 13:59:49 +0000 (15:59 +0200)]
Promote OptionsMap to a class

And add a bit of documentation too.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
10 years agoFix a stale comment
Marco Costalba [Sat, 16 Apr 2011 09:21:13 +0000 (10:21 +0100)]
Fix a stale comment

Spotted by Onno

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>