stockfish
12 years agoNull move driven internal iterative deepening
Marco Costalba [Mon, 8 Dec 2008 09:46:52 +0000 (10:46 +0100)]
Null move driven internal iterative deepening

When a null move fails low due to a capture, try
to detect if without the capture we are above beta,
in this case there is a good possibility this is
a cut-node and the capture is just a null move
artifact due to side to move change. So if we still
don't have a TT move it's a good time to start an IID.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoStockfish 1.1
Marco Costalba [Sat, 6 Dec 2008 16:18:59 +0000 (17:18 +0100)]
Stockfish 1.1

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRevert see() shortcut for LxH and equal captures
Marco Costalba [Sat, 6 Dec 2008 11:22:56 +0000 (12:22 +0100)]
Revert see() shortcut for LxH and equal captures

It happens that more then 70% of cases are HxL, where
we call see() anyway. The mesured saving of calling
see is about 0,5% of total time, but considering the
added burden in score_captures() the saving is only
0,35% locally and due to more difficult inlining of
the function it ends up that we have no advantage at all,
possibly a small slow down!

So revert.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix two gcc warnings in san.cpp
Marco Costalba [Sat, 6 Dec 2008 11:01:16 +0000 (12:01 +0100)]
Fix two gcc warnings in san.cpp

One good, the other silly.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix an Intel warning in san.cpp
Marco Costalba [Sat, 6 Dec 2008 10:56:34 +0000 (11:56 +0100)]
Fix an Intel warning in san.cpp

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMovePicker: avoid calling see() for LxH and equal captures
Marco Costalba [Fri, 5 Dec 2008 11:00:30 +0000 (12:00 +0100)]
MovePicker: avoid calling see() for LxH and equal captures

No functional change but should speed-up the captures scoring.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoNull capture pruning
Marco Costalba [Sat, 6 Dec 2008 10:31:14 +0000 (11:31 +0100)]
Null capture pruning

Null move can fail low because of a capture artifact due
to the side to move change. Try to detect this condition
and fail high instead.

This pruning is very powerful, around 7% of nodes, but is
still experimental so is disabled by default.

Set UseNullCapturePruning to true to enable.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoPosition::move_is_capture() does not handle MOVE_NONE
Marco Costalba [Fri, 5 Dec 2008 11:38:20 +0000 (12:38 +0100)]
Position::move_is_capture() does not handle MOVE_NONE

Actually square 0 can be dirty, so that move_is_capture(0)
can return any random values.

Add an assert to be sure it is caught.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoAllow to call Position::print() from MovePicker
Marco Costalba [Fri, 5 Dec 2008 08:50:18 +0000 (09:50 +0100)]
Allow to call Position::print() from MovePicker

Fix a recursion issue that gives a stack overflow.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agosan.cpp: rewrite broken move_from_san
Marco Costalba [Mon, 1 Dec 2008 16:46:12 +0000 (17:46 +0100)]
san.cpp: rewrite broken move_from_san

Use a state machine to parse the input. Fixed
the many broken cases.

Tested on more then 15 milions nodes.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agosan.cpp cleanup
Marco Costalba [Mon, 1 Dec 2008 13:34:31 +0000 (14:34 +0100)]
san.cpp cleanup

Hopefully no functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRevert opponent time advantage logic
Marco Costalba [Thu, 27 Nov 2008 06:42:57 +0000 (07:42 +0100)]
Revert opponent time advantage logic

Strength increase was due to an hidden bug introduced
by the patch, namely the time per move to /30 instead
of /40 (see previous patch).

After testing this feature do not add any substantial
increase so is removed.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRevert sigmoid interpolator
Marco Costalba [Sun, 30 Nov 2008 20:16:47 +0000 (21:16 +0100)]
Revert sigmoid interpolator

After deep test (1000 games) it seems do not improve anything,
actually seems slightly weaker.

So remove it for now.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agosan.cpp pass position as constant reference
Marco Costalba [Sun, 30 Nov 2008 00:25:16 +0000 (01:25 +0100)]
san.cpp pass position as constant reference

Make a copy of the position when needed instead
of passing as a reference. It is cleaner and
let us to simplify also Position::print()

A small space inflate while there.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agopiece_type_to_char() default argument in declaration
Marco Costalba [Sat, 29 Nov 2008 23:38:33 +0000 (00:38 +0100)]
piece_type_to_char() default argument in declaration

Default argument should be in declaration where it
is visible through header include, not in definition.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRevert threat move ordering
Marco Costalba [Wed, 26 Nov 2008 10:22:30 +0000 (11:22 +0100)]
Revert threat move ordering

Does not seem to improve anything.

Anyhow idea is nice, maybe we still have to find
correct recipe.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoTweak allocated time per move
Marco Costalba [Tue, 25 Nov 2008 14:31:55 +0000 (15:31 +0100)]
Tweak allocated time per move

It seems better to give more time in middle game then
at the end.

Also Toga uses the same limit.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRewrok the extendeable patch
Marco Costalba [Tue, 25 Nov 2008 13:49:38 +0000 (14:49 +0100)]
Rewrok the extendeable patch

Cleanup and document.

The real functional change is that not mate threat
moves are never pruned, as could happen before.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMovePicker: take advantage of threat move for ordering
Marco Costalba [Tue, 25 Nov 2008 10:10:02 +0000 (11:10 +0100)]
MovePicker: take advantage of threat move for ordering

If the null move was refuted by a capture then give a
bonus if we move away the captured piece.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoUse extendable instead of depth extension
Marco Costalba [Mon, 24 Nov 2008 16:50:54 +0000 (17:50 +0100)]
Use extendable instead of depth extension

We can have depth(0) also in problematic cases
according to how extensions are tweaked by the user.

In any case we don't want to prune these moves.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoGenerate moves for powerful pieces first
Marco Costalba [Mon, 24 Nov 2008 11:13:08 +0000 (12:13 +0100)]
Generate moves for powerful pieces first

This seems to reduce searched nodes by a
surprising 2.5%

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoBenchmark: print nodes searched at the end of testing
Marco Costalba [Mon, 24 Nov 2008 19:43:11 +0000 (20:43 +0100)]
Benchmark: print nodes searched at the end of testing

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoEasy debug macro enabling
Marco Costalba [Sat, 22 Nov 2008 14:59:26 +0000 (15:59 +0100)]
Easy debug macro enabling

Now you don't need to toggle show_debug_xxxx anymore

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoIntroduce node limited benchmarking
Marco Costalba [Sat, 22 Nov 2008 10:56:14 +0000 (11:56 +0100)]
Introduce node limited benchmarking

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoIntroduce depth limited benchmarking
Marco Costalba [Sat, 22 Nov 2008 10:02:05 +0000 (11:02 +0100)]
Introduce depth limited benchmarking

Also print some more info.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRemove an include in movepick.h
Marco Costalba [Mon, 17 Nov 2008 21:33:43 +0000 (22:33 +0100)]
Remove an include in movepick.h

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Signed-off-by: unknown <Marco@.(none)>
12 years agoFix a silly bug that disabled second killer
Marco Costalba [Mon, 17 Nov 2008 21:30:19 +0000 (22:30 +0100)]
Fix a silly bug that disabled second killer

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Signed-off-by: unknown <Marco@.(none)>
12 years agoqsearch: restore pruning of pv nodes with negative SEE
Marco Costalba [Sun, 16 Nov 2008 22:33:06 +0000 (23:33 +0100)]
qsearch: restore pruning of pv nodes with negative SEE

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Signed-off-by: unknown <Marco@.(none)>
12 years agoFix Intel warnings and init_search_stack argument
Marco Costalba [Sun, 16 Nov 2008 11:46:12 +0000 (12:46 +0100)]
Fix Intel warnings and init_search_stack argument

Should be a reference not a copy!

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoSet killer slots number to 2
Marco Costalba [Sun, 16 Nov 2008 10:16:07 +0000 (11:16 +0100)]
Set killer slots number to 2

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMovePicker: fix a nasty bug in EvalInfo optimization
Marco Costalba [Sat, 15 Nov 2008 23:47:55 +0000 (00:47 +0100)]
MovePicker: fix a nasty bug in EvalInfo optimization

EvalInfo has missing attack info when a specialized
endgame function is used.

We missed this case and were using an empty attack bitboard
instead so that no captures were generated for endgames.

After testing the EvalInfo optimization gave worst results,
so after a (long) debug session this nasty bug was found.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoAdd and use update_killers()
Marco Costalba [Sat, 15 Nov 2008 17:23:56 +0000 (18:23 +0100)]
Add and use update_killers()

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoAdd and use move_is_killer() helper
Marco Costalba [Sat, 15 Nov 2008 17:10:34 +0000 (18:10 +0100)]
Add and use move_is_killer() helper

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoConvert killers to a vector
Marco Costalba [Sat, 15 Nov 2008 16:56:22 +0000 (17:56 +0100)]
Convert killers to a vector

Add infrastructure to threat killer moves as a vector,
this will allow us to easily parametrize the number of
killer moves, instead of hardcode this value to two as is now.

This patch just add the infrastructure, no functional
change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoqsearch: do not prune pv nodes with negative SEE
Marco Costalba [Tue, 11 Nov 2008 20:42:36 +0000 (21:42 +0100)]
qsearch: do not prune pv nodes with negative SEE

Also small micro-optimization, take a line out of
the moves loop.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoDisable per-square MVV/LVA for now
Marco Costalba [Sat, 15 Nov 2008 22:01:32 +0000 (23:01 +0100)]
Disable per-square MVV/LVA for now

Needs more testing.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMovePicker: use EvalInfo to skip generating captures
Marco Costalba [Sat, 15 Nov 2008 12:00:56 +0000 (13:00 +0100)]
MovePicker: use EvalInfo to skip generating captures

When we know already no captures are possible in a given
position.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoPosition::to_fen(): fix a bug in side to move representation
Marco Costalba [Sat, 15 Nov 2008 07:27:52 +0000 (08:27 +0100)]
Position::to_fen(): fix a bug in side to move representation

Was introduced almost two months ago in patch:
"Space inflate Position::to_fen()"

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoPrint the move in addition to position
Marco Costalba [Sat, 15 Nov 2008 07:14:28 +0000 (08:14 +0100)]
Print the move in addition to position

Teach Position::print() to optionally print a
given move in san notation in addition to
the ASCII representation of the board.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoEnable per-square MVV/LVA
Marco Costalba [Fri, 14 Nov 2008 21:21:35 +0000 (22:21 +0100)]
Enable per-square MVV/LVA

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMovePicker:find bad captures during scoring
Marco Costalba [Fri, 14 Nov 2008 21:06:19 +0000 (22:06 +0100)]
MovePicker:find bad captures during scoring

Instead of pospone until picking. No functional
change and probably no performance change but it is
needed for following patch.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMovePicker: introduce per square MVV/LVA ordering
Marco Costalba [Fri, 14 Nov 2008 20:49:46 +0000 (21:49 +0100)]
MovePicker: introduce per square MVV/LVA ordering

Just added the infrastructure, no functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix hashfull info
Marco Costalba [Tue, 11 Nov 2008 17:26:15 +0000 (18:26 +0100)]
Fix hashfull info

Do not count has a replacement when a TT entry is
written in an empty slot.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix in ok_to_history(): castle move is not a capture
Marco Costalba [Mon, 10 Nov 2008 18:04:15 +0000 (19:04 +0100)]
Fix in ok_to_history(): castle move is not a capture

It is erroneusly considered a capture because king
moves on the same square of the rook.

Use the correct function Position::move_is_capture()
instead of the open coded (and buggy) one.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoSmall tidyup of TranspositionTable::store()
Marco Costalba [Mon, 10 Nov 2008 14:26:57 +0000 (15:26 +0100)]
Small tidyup of TranspositionTable::store()

Hopefully without bugs this time!

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix a logic bug in TranspositionTable::store()
Marco Costalba [Mon, 10 Nov 2008 14:15:40 +0000 (15:15 +0100)]
Fix a logic bug in TranspositionTable::store()

Make the logic work as advertised in the function
description.

Still a fallback from TT cleanup.

This should be less serious then the one in retrieve(),
but it's still a bug.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMicro optimization of update_history()
Marco Costalba [Mon, 10 Nov 2008 12:56:49 +0000 (13:56 +0100)]
Micro optimization of update_history()

Remove an useless comparison.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoUse cut-off checks in qsearch as killer moves
Marco Costalba [Mon, 10 Nov 2008 10:06:46 +0000 (11:06 +0100)]
Use cut-off checks in qsearch as killer moves

Killers should not be captures, but checks are not
and are produced also in qsearch.

Use this information, will be useful for move ordering.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoSmaller null move reduction when depth is high
Marco Costalba [Sun, 9 Nov 2008 12:03:52 +0000 (13:03 +0100)]
Smaller null move reduction when depth is high

Lower probability to miss something important.

It seems to increase strenght. Idea form Cyclone.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoIntroduce LastIterations variable
Marco Costalba [Sat, 8 Nov 2008 08:29:07 +0000 (09:29 +0100)]
Introduce LastIterations variable

Is set during the last iteration.

Sometime also during the second last.

During the last iteration is set in the 95% of cases.

During the second last is set in the 40% of cases.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRestore development versioning and LSN filtering
Marco Costalba [Tue, 4 Nov 2008 20:13:00 +0000 (21:13 +0100)]
Restore development versioning and LSN filtering

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix a missed initialization in get_option_value()
Marco Costalba [Tue, 4 Nov 2008 19:59:11 +0000 (20:59 +0100)]
Fix a missed initialization in get_option_value()

Spotted and reported by Dann Corbit.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoStockfish 1.01
Marco Costalba [Mon, 3 Nov 2008 21:25:28 +0000 (22:25 +0100)]
Stockfish 1.01

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix compile under Ubuntu 64bit
Marco Costalba [Mon, 3 Nov 2008 21:05:41 +0000 (22:05 +0100)]
Fix compile under Ubuntu 64bit

Some missing includes.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix a serious bug in TranspositionTable::retrieve()
Marco Costalba [Mon, 3 Nov 2008 18:59:58 +0000 (19:59 +0100)]
Fix a serious bug in TranspositionTable::retrieve()

Reported by Tord Romstad.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRestore development versioning
Marco Costalba [Mon, 3 Nov 2008 18:55:59 +0000 (19:55 +0100)]
Restore development versioning

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRestore LSN filtering
Marco Costalba [Sun, 2 Nov 2008 17:32:56 +0000 (18:32 +0100)]
Restore LSN filtering

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRevert movepick optimizations before to release
Marco Costalba [Sun, 2 Nov 2008 14:58:10 +0000 (15:58 +0100)]
Revert movepick optimizations before to release

More testing is needed and better do not risk
just before release.

Reverted:

Disable LSN filtering as defualt for release
Use MVV/LVA in score_evasions()

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoStockfish 1.0
Marco Costalba [Sun, 2 Nov 2008 14:35:32 +0000 (15:35 +0100)]
Stockfish 1.0

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoDisable LSN filtering as defualt for release
Marco Costalba [Sun, 2 Nov 2008 14:35:02 +0000 (15:35 +0100)]
Disable LSN filtering as defualt for release

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoUse MVV/LVA in score_evasions()
Marco Costalba [Sun, 2 Nov 2008 07:47:27 +0000 (08:47 +0100)]
Use MVV/LVA in score_evasions()

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoDelay SEE for scoring captures
Marco Costalba [Sat, 1 Nov 2008 17:28:49 +0000 (18:28 +0100)]
Delay SEE for scoring captures

Do not calculate SEE on all the moves in MovePicker::score_captures()
but delay until pick_move_from_list() when only the best ones are
double checked against their see value.

If a beta cut-off occurs then we avoid calculating SEE on all
the moves, but just the picked ones.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agosearch: micro optimization
Marco Costalba [Sat, 1 Nov 2008 18:44:17 +0000 (19:44 +0100)]
search: micro optimization

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix a couple of gcc warnings in position.cpp
Marco Costalba [Sat, 1 Nov 2008 11:52:40 +0000 (12:52 +0100)]
Fix a couple of gcc warnings in position.cpp

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoUpdate README to Stockfish
Marco Costalba [Sat, 1 Nov 2008 12:56:01 +0000 (13:56 +0100)]
Update README to Stockfish

Remove Glaurung references.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFinal touches to material.cpp
Marco Costalba [Sat, 1 Nov 2008 10:38:30 +0000 (11:38 +0100)]
Final touches to material.cpp

No functional changes, altough a bit of code reshuffle.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMaterial: lockless per-thread maps
Marco Costalba [Fri, 31 Oct 2008 16:42:25 +0000 (17:42 +0100)]
Material: lockless per-thread maps

Adds a good bunch of code but should be faster
and scalable because is lockless.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRevert "MovePicker::score_captures() order with SEE when pv"
Marco Costalba [Thu, 30 Oct 2008 14:28:25 +0000 (15:28 +0100)]
Revert "MovePicker::score_captures() order with SEE when pv"

Does not seem to increase the strenght.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoSpace inflate move.cpp
Marco Costalba [Thu, 30 Oct 2008 14:21:53 +0000 (15:21 +0100)]
Space inflate move.cpp

Also a little cleanup.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRevert "Relax time constraints"
Marco Costalba [Thu, 30 Oct 2008 10:38:06 +0000 (11:38 +0100)]
Revert "Relax time constraints"

Does not seem to give an improvment, acutually it seems
a totally neutral change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoPartially space inflate search.cpp
Marco Costalba [Thu, 30 Oct 2008 10:35:44 +0000 (11:35 +0100)]
Partially space inflate search.cpp

Space inflate main remaining functions in search.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRelax time constraints
Marco Costalba [Wed, 29 Oct 2008 16:00:51 +0000 (17:00 +0100)]
Relax time constraints

Allow a seacrh to take a bit more time if needed.

This reduces the chanches of wast all the search time
for the last iteration and also allow to start the last
iteration when we have less time remaining.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMaterial: micro optimize map reading
Marco Costalba [Wed, 29 Oct 2008 06:52:20 +0000 (07:52 +0100)]
Material: micro optimize map reading

Do only one map walk per read instead of two.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMaterial: protect global map access with locks
Marco Costalba [Tue, 28 Oct 2008 18:30:57 +0000 (19:30 +0100)]
Material: protect global map access with locks

STL library is not guaranteed to be thread safe, even for
read-access.

So because these global maps are accessed by all the threads
we need to protect them.

This fixes a random crash experienced during testing.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMovePicker::score_captures() order with SEE when pv
Marco Costalba [Mon, 27 Oct 2008 21:04:47 +0000 (22:04 +0100)]
MovePicker::score_captures() order with SEE when pv

Order PV nodes by SEE instead of MVV/LVA.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRevert "Last minute surprise" for now
Marco Costalba [Mon, 27 Oct 2008 20:59:12 +0000 (21:59 +0100)]
Revert "Last minute surprise" for now

It defenitly needs more testing. Just postponed.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFinish material.cpp cleanup
Marco Costalba [Mon, 27 Oct 2008 20:54:39 +0000 (21:54 +0100)]
Finish material.cpp cleanup

Hopefully no regression this time!

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoStart to simplify material.cpp
Marco Costalba [Mon, 27 Oct 2008 18:07:48 +0000 (19:07 +0100)]
Start to simplify material.cpp

It is posisble to simplify a lot here!

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFactor out Position::do_capture_move()
Marco Costalba [Mon, 27 Oct 2008 13:19:24 +0000 (14:19 +0100)]
Factor out Position::do_capture_move()

Start to slim line count i position.cpp

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix a bug in generate_evasions()
Marco Costalba [Mon, 27 Oct 2008 09:15:51 +0000 (10:15 +0100)]
Fix a bug in generate_evasions()

Introduced in the patch "movegen: prefer (*mlist++) to mlist[n++]"

This was nasty because due to a mismerge the repo in one PC had the bug,
but the testing one did not, so I had non reproducible results according
to which machine I used for testing.

This hopefully closes a more then one week regression that made me go crazy!

It was found by accident comparing, for other reasons, the sources of the
two PC's.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRefine "few moves" in "last minute surprise"
Marco Costalba [Mon, 27 Oct 2008 08:28:14 +0000 (09:28 +0100)]
Refine "few moves" in "last minute surprise"

It seems that "few moves" works because we extend the good
captures at the last ply of PV, so code it directly.

This version seems defenitly stronger then previous one.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoManual merge
Marco Costalba [Sun, 26 Oct 2008 20:44:58 +0000 (21:44 +0100)]
Manual merge

12 years agoSpace inflate extension() code
Marco Costalba [Sun, 26 Oct 2008 17:16:23 +0000 (18:16 +0100)]
Space inflate extension() code

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoTEST: extend when few moves available
Marco Costalba [Sun, 26 Oct 2008 13:52:37 +0000 (14:52 +0100)]
TEST: extend when few moves available

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRevert see shortcut when only one attacker
Marco Costalba [Sun, 26 Oct 2008 13:50:15 +0000 (14:50 +0100)]
Revert see shortcut when only one attacker

It does not seem to work after a little testing.

Perhaps it works on the long terms, but it is also
ugly because not correct, so revert for now.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoPrefer out of loop variables in MovePicker::score_captures()
Marco Costalba [Sun, 26 Oct 2008 12:51:12 +0000 (13:51 +0100)]
Prefer out of loop variables in MovePicker::score_captures()

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoEffectively use MVV/LVA in MovePicker::score_captures()
Marco Costalba [Sun, 26 Oct 2008 12:47:31 +0000 (13:47 +0100)]
Effectively use MVV/LVA in MovePicker::score_captures()

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoReintroduce piece/square tables to score non-captures
Marco Costalba [Sun, 26 Oct 2008 12:44:34 +0000 (13:44 +0100)]
Reintroduce piece/square tables to score non-captures

Was removed after original movepick restore. But proved
to be useful.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
13 years agoPosition: fix a couple of Intel compiler warnings
Marco Costalba [Sun, 26 Oct 2008 12:23:27 +0000 (13:23 +0100)]
Position: fix a couple of Intel compiler warnings

Plus usual trailing whitespace.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
13 years agoTest with SEE shortcut
Marco Costalba [Sat, 25 Oct 2008 19:44:10 +0000 (20:44 +0100)]
Test with SEE shortcut

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
13 years agoBetter naming of pseudo-legality and legality testing
Marco Costalba [Sat, 25 Oct 2008 15:39:24 +0000 (16:39 +0100)]
Better naming of pseudo-legality and legality testing

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
13 years agoTry to cleanup movepick
Marco Costalba [Sat, 25 Oct 2008 14:57:19 +0000 (15:57 +0100)]
Try to cleanup movepick

Hopefully without regressions.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
13 years agoRestore original movepick modulo space inflation
Marco Costalba [Sat, 25 Oct 2008 14:28:24 +0000 (15:28 +0100)]
Restore original movepick modulo space inflation

We have a regression somewhere here so restart from zero
and proceed one change at a time.

With this modification we have the same strenght of
"Introduce Stockfish" patch that is our strongest to date.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
13 years agoSpace inflate position: complete!
Marco Costalba [Sat, 25 Oct 2008 08:06:52 +0000 (09:06 +0100)]
Space inflate position: complete!

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
13 years agoSpace inflate position until do_promotion_move()
Marco Costalba [Fri, 24 Oct 2008 07:14:20 +0000 (09:14 +0200)]
Space inflate position until do_promotion_move()

We will end some day ;-)

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
13 years agoStart to space inflate position.cpp
Marco Costalba [Thu, 23 Oct 2008 20:51:26 +0000 (21:51 +0100)]
Start to space inflate position.cpp

It's a big file!

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
13 years agoFix a performance bug in generate_move_if_legal
Marco Costalba [Thu, 23 Oct 2008 20:02:10 +0000 (21:02 +0100)]
Fix a performance bug in generate_move_if_legal

Use the pinned argument in pos.move_is_legal()

No functional change, simply use pos.move_is_legal() as
was meant to be.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
13 years agoUnify pinned and discovery checks code
Marco Costalba [Thu, 23 Oct 2008 19:43:48 +0000 (20:43 +0100)]
Unify pinned and discovery checks code

Templates are our friends here. No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
13 years agoRefactor Position::pinned_pieces() to use templates
Marco Costalba [Thu, 23 Oct 2008 10:59:20 +0000 (12:59 +0200)]
Refactor Position::pinned_pieces() to use templates

Also better document this interesting function.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
13 years agomovegen: add SERIALIZE_MOVES and hides a bunch of loops
Marco Costalba [Thu, 23 Oct 2008 08:42:14 +0000 (10:42 +0200)]
movegen: add SERIALIZE_MOVES and hides a bunch of loops

Only syntactic sugar, perhaps we should leave as is, anyhow...

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