]>
git.sesse.net Git - stockfish/log
Marco Costalba [Sat, 14 Feb 2015 14:29:21 +0000 (15:29 +0100)]
Sync with master
Bench:
7369224
snicolet [Fri, 13 Feb 2015 21:33:00 +0000 (21:33 +0000)]
Small bonus for all safe pawn pushes
Pawn flexibility: add a small bonus for all safe pawn pushes
STC:
LLR: 2.70 (-2.94,2.94) [-1.50,4.50]
Total: 18233 W: 3705 L: 3557 D: 10971
LTC:
LLR: 2.97 (-2.94,2.94) [0.00,6.00]
Total: 17684 W: 3042 L: 2854 D: 11788
Bench:
7369224
Resolves #253
Marco Costalba [Fri, 13 Feb 2015 10:54:46 +0000 (11:54 +0100)]
Reformat tracing functions
No functional change.
hxim [Mon, 9 Feb 2015 18:12:04 +0000 (19:12 +0100)]
Fix KingDanger[] array initialization
Use integer arithmetic instead of floating point arithmetic.
Floating point arithmetic was causing different results for some 32-bit compiles
No functional change
Resolves #249
Resolves #250
Marco Costalba [Sun, 8 Feb 2015 20:31:25 +0000 (21:31 +0100)]
Sync with master
bench:
7699138
Joona Kiiski [Sun, 8 Feb 2015 19:20:39 +0000 (19:20 +0000)]
Pawn Center Bind Bonus
Bonus for two pawns controlling the same central square
STC:
LLR: 3.14 (-2.94,2.94) [-1.50,4.50]
Total: 15974 W: 3291 L: 3133 D: 9550
LTC:
LLR: 3.24 (-2.94,2.94) [0.00,6.00]
Total: 10449 W: 1837 L: 1674 D: 6938
Idea from Lyudmil Tsvetkov.
Bench:
7699138
Resolves #248
Marco Costalba [Sun, 8 Feb 2015 12:21:50 +0000 (13:21 +0100)]
Shuffle put_piece() and friends signatures
It is more consistent with the others member functions.
No functional change.
Marco Costalba [Sat, 7 Feb 2015 18:34:24 +0000 (19:34 +0100)]
Small tweaks in do_move and friends
Also remove useless StateCopySize64 optimization:
compiler uses SSE movups instruction anyhow and
does not need this trick (verified with fishbench).
No functional change.
Marco Costalba [Sat, 7 Feb 2015 18:13:41 +0000 (19:13 +0100)]
Avoid casting to char* in prefetch()
Funny enough, gcc __builtin_prefetch() expects
already a void*, instead Windows's _mm_prefetch()
requires a char*.
The patch allows to remove ugly casts from caller
sites.
No functional change.
Marco Costalba [Sat, 7 Feb 2015 13:34:35 +0000 (14:34 +0100)]
Rewrite pos_is_ok()
No functional change.
Marco Costalba [Sat, 7 Feb 2015 11:07:43 +0000 (12:07 +0100)]
Micro-optimize SEE
Results for 10 tests for each version (gcc 4.8.3 on mingw):
Base Test Diff
Mean
1502447 1507917 -5470
StDev 3119 1364 4153
p-value: 0,906
speedup: 0,004
Results for 10 tests for each version (MSVC 2013):
Base Test Diff
Mean
1400899 1403713 -2814
StDev 1273 2804 2700
p-value: 0,851
speedup: 0,002
No functional change.
Marco Costalba [Sat, 7 Feb 2015 10:15:38 +0000 (11:15 +0100)]
Rename dbg_hit_on_c() to dbg_hit_on()
Use an overload instead of a new named function.
I have found this handier and easier when adding
some quick debug code.
No functional change.
Marco Costalba [Sat, 7 Feb 2015 10:15:38 +0000 (11:15 +0100)]
Rename dbg_hit_on_c() to dbg_hit_on()
Use an overload instead of a new named function.
I have found this handier and easier when adding
some quick debug code.
No functional change.
Marco Costalba [Sat, 7 Feb 2015 09:31:47 +0000 (10:31 +0100)]
Sync with master
bench:
7696257
lucasart [Sat, 7 Feb 2015 09:09:56 +0000 (09:09 +0000)]
Removes useless templates, some of which lead to code duplication: is_K*() functions.
No functional change
Resolves #245
Stefan Geschwentner [Tue, 3 Feb 2015 03:16:50 +0000 (11:16 +0800)]
Add bonus for pawn attack threats
Latent pawn attacks: Add a bonus to safe pawn pushes which attacks an
enemy piece. Based on an idea of Lyudmil Tsvetkov.
STC:
LLR: 2.95 (-2.94,2.94) [-1.50,4.50]
Total: 7925 W: 1666 L: 1537 D: 4722
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,6.00]
Total: 40109 W: 6841 L: 6546 D: 26722
Bench:
7696257
Resolves #240
mstembera [Tue, 3 Feb 2015 03:09:37 +0000 (11:09 +0800)]
Profile build options
I went through all the individual compile options that differ between
-fprofile-generate/-fprofile-use and -fprofile-arcs/-fbranch-probabilities
and distilled the speed difference down to only turning off
-fno-peel-loops and -fno-tracer. Using this we still get the full speedup
(maybe a bit more because other optimizations stay on) and it's also much cleaner
because we can get rid of the "@rm -f ucioption.gc*" hack for all versions of gcc.
No functional change.
Resolves #237
NicklasPersson [Mon, 2 Feb 2015 20:00:52 +0000 (04:00 +0800)]
Improved King Safety values
From an SPSA-session on king safety.
STC:
ELO: 3.21 +-2.1 (95%) LOS: 99.8%
Total: 40000 W: 8181 L: 7812 D: 24007
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 47765 W: 8091 L: 7785 D: 31889
Bench:
8589262
Resolves #241
Marco Costalba [Sun, 1 Feb 2015 15:32:21 +0000 (16:32 +0100)]
Use move assignment in movegen.h
No functional change and same speed (tested with perft)
Marco Costalba [Sun, 1 Feb 2015 12:29:27 +0000 (13:29 +0100)]
Allow to assign a Move to an ExtMove
After defining ExtMove::operator Move(), this is a
natural extension.
No fnctional change.
Marco Costalba [Sun, 1 Feb 2015 12:08:14 +0000 (13:08 +0100)]
Delay checking for duplicated killer moves
Follow the usual approach to delay computation
as far as possible, in case an earlier killer
cut-offs we avoid to do useless work.
This also greatly simplifies the code.
No functional change.
Marco Costalba [Sun, 1 Feb 2015 09:59:01 +0000 (10:59 +0100)]
Small tweaks in movepick.cpp
No functional change.
Marco Costalba [Sun, 1 Feb 2015 09:40:22 +0000 (10:40 +0100)]
Silence a warning under MSVC
warning C4100: 'ci' : unreferenced formal parameter
It is a silly and wrong one, but just silent it.
No functional change.
Marco Costalba [Sat, 31 Jan 2015 19:13:38 +0000 (20:13 +0100)]
More readable score<CAPTURES>()
No functional change.
Marco Costalba [Sat, 31 Jan 2015 18:53:19 +0000 (19:53 +0100)]
Use C++11 loops in MovePicker
No functional change.
Marco Costalba [Sat, 31 Jan 2015 17:39:51 +0000 (18:39 +0100)]
Implicit conversion from ExtMove to Move
Verified with perft there is no speed regression,
and code is simpler. It is also conceptually correct
becuase an extended move is just a move that happens
to have also a score.
No functional change.
Marco Costalba [Sat, 31 Jan 2015 12:22:06 +0000 (13:22 +0100)]
Another small tweak to skills
No functional change.
Marco Costalba [Sat, 31 Jan 2015 12:04:15 +0000 (13:04 +0100)]
Sync with master
bench:
7374604
Marco Costalba [Sat, 31 Jan 2015 11:31:00 +0000 (12:31 +0100)]
Use C++ loops in insert_pv_in_tt
Also small tweak to extract_ponder_from_tt
No functional change.
Marco Costalba [Sat, 31 Jan 2015 10:54:25 +0000 (11:54 +0100)]
Move uci_pv under UCI namespace
That's the correct place.
No functional change.
Marco Costalba [Sat, 31 Jan 2015 09:43:47 +0000 (10:43 +0100)]
Convert Reductions[] from int8_t to Depth
This is the type anyhow. Assorted cleanup while there.
No functional change.
Marco Costalba [Sat, 31 Jan 2015 09:19:00 +0000 (10:19 +0100)]
Fix a MSVC warning
warning C4805: '|' : unsafe mix of type 'Bitboard' and type 'bool' in operation
No functional change.
Jean-Francois Romang [Sun, 25 Jan 2015 07:57:51 +0000 (08:57 +0100)]
Ressurrect hashfull patch
This is an old patch from Jean-Francois Romang to send
UCI hashfull info to the GUI:
https://github.com/mcostalba/Stockfish/pull/60/files
It was wrongly judged as a slowdown, but it takes much
less than 1 ms to run, indeed on my core i5 2.6Ghz it
takes about 2 microsecs to run!
Regression test is good:
STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 7352 W: 1548 L: 1401 D: 4403
LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 61432 W: 10307 L: 10251 D: 40874
I have set the name of the author to the original
one.
No functional change.
Marco Costalba [Fri, 30 Jan 2015 16:58:18 +0000 (17:58 +0100)]
Sync with master
bench:
7374604
Marco Costalba [Sun, 25 Jan 2015 18:22:43 +0000 (19:22 +0100)]
Simplify skill level and reduce ELO
This patch has two positive effects:
- Retire a hackish formula and leave
just a natural, simple and plain one.
- Reduce strenght at very low level, but
don't impact medium/high levels.
Actually even at level 0, SF is still too
strong for many beginners (this was reported
many times for instance on Droidfish user
comments on Google Play).
Test on fishtest shows that ELO drop is around
170 ELO at level 0 (good!), 130 ELO at level 1
and smoothly reduces (as expected) until level
10 where the drop is just of 8 ELO.
No functional change.
Alain SAVARD [Mon, 26 Jan 2015 16:05:53 +0000 (11:05 -0500)]
Simplify backward pawn definition
Make use of 'lever' attribute
No functional change
Resolves #234
NicklasPersson [Wed, 28 Jan 2015 21:00:09 +0000 (21:00 +0000)]
King safety tuning with values obtained by SPSA.
Part I:
LTC:
LLR: 2.96 (-2.94,2.94) [0.00,4.00]
Total: 11529 W: 2075 L: 1882 D: 7572
Part II:
LTC:
ELO: 2.07 +-2.1 (95%) LOS: 97.3%
Total: 34859 W: 5967 L: 5759 D: 23133
Bench:
7374604
Resolves #228
Joona Kiiski [Wed, 28 Jan 2015 20:53:50 +0000 (20:53 +0000)]
Restore development version
No functional change
Joona Kiiski [Tue, 27 Jan 2015 20:27:38 +0000 (20:27 +0000)]
Stockfish 6
Stockfish bench signature is:
8918745
Joona Kiiski [Sun, 25 Jan 2015 22:03:57 +0000 (22:03 +0000)]
Stockfish 6 Release Candidate 3
- Fix a skill level problem: Don't allow move pruning at root node
- Revert "Fix profile build for gcc on Mac OSX". Results for a faster binary in x86-64.
- Fix a MSVC warning
Bench:
8918745
Stefan Geschwentner [Sat, 24 Jan 2015 21:05:06 +0000 (22:05 +0100)]
Fix a skill level problem: Don't allow move pruning at root node
Bench:
8918745
Resolves #231
Joona Kiiski [Sun, 25 Jan 2015 21:46:02 +0000 (21:46 +0000)]
Revert "Fix profile build for gcc on Mac OSX"
Seems to be a performance regression for standard build.
For SF6 people compiling on Mac OSX using profile-build option
just need to make necessary adjustments manually...
No functional change
Resolves #223
Marco Costalba [Sun, 25 Jan 2015 10:07:43 +0000 (11:07 +0100)]
Re-arrange Skill struct
Instead of swapping sub-optimal move in Skill
d'tor, make it explicitly at the end of the search.
Also streamline and clarify relation with multiPV
and pass it directly instead of relying on the hacky
'candidates' member.
No functional change.
Marco Costalba [Mon, 19 Jan 2015 07:11:43 +0000 (08:11 +0100)]
Fix a MSVC warning at W4
Warning is C4512 (assignment operator could not be generated)
Now, apart the foreign syzygy code, everything compiles
without warnings at warning level 4.
Backported from C++11 branch.
No functional change.
Joona Kiiski [Sat, 24 Jan 2015 19:38:59 +0000 (19:38 +0000)]
Stockfish 6 Release Candidate 2
- Fix a compilation issue related to BMI2 PEXT instruction
- Retrieve a ponder move from TT if PV is only one move long
Bench:
8080602
No functional change
Marco Costalba [Tue, 20 Jan 2015 21:17:22 +0000 (22:17 +0100)]
Don't use _pext_u64() directly
This intrinsic to call BMI2 PEXT instruction is
defined in immintrin.h. This header should be
included only when USE_PEXT is defined, otherwise
we define _pext_u64 as 0 forcing a nop.
But under some mingw platforms, even if we don't
include the header, immintrin.h gets included
anyhow through an include chain that starts with
STL <algorithm> header. So we end up both defining
_pext_u64 function and at the same time defining
_pext_u64 as 0 leading to a compile error.
The correct solution is of not using _pext_u64 directly.
This patch fixes a compile error with some mingw64
package when compiling with x86-64.
No functional change.
Resolves #222
Marco Costalba [Tue, 20 Jan 2015 08:13:30 +0000 (09:13 +0100)]
Try hard to retrieve a ponder move
In case we stop the search during a fail-high
it is possible we return to GUI without a ponder
move. This patch try harder to find a ponder move
retrieving it from TT. This is important in games
played with 'ponder on'.
bench:
8080602
Resolves #221
Marco Costalba [Sat, 24 Jan 2015 07:51:53 +0000 (08:51 +0100)]
Additional work in bitbases
Verified the generated bitbases are unchanged.
No functional change.
Marco Costalba [Thu, 22 Jan 2015 10:05:31 +0000 (11:05 +0100)]
Rearrange bitbases C++11 way
No functional change.
Marco Costalba [Wed, 21 Jan 2015 18:53:26 +0000 (19:53 +0100)]
Document how to enable PEXT with MSVC
When not using Makefile, e.g. with MSVC, if hardware
supports BMI2 instructions, then USE_PEXT should be
added in project configuration to enable pext support.
No functional change.
Marco Costalba [Wed, 21 Jan 2015 16:35:53 +0000 (17:35 +0100)]
Rearrange Endgames
Remove references to EndgameBase and use instead
Value and ScaleFactor as template parameters of
the endgames maps.
No functional change.
Marco Costalba [Wed, 21 Jan 2015 12:18:19 +0000 (13:18 +0100)]
Explicitly defaulted and deleted members
Better than a bit obscure implicit ones.
No functional change.
Marco Costalba [Wed, 21 Jan 2015 10:33:53 +0000 (11:33 +0100)]
Fun with lambdas
Use lambda functions instead of has_positive_value()
and toggle_case()
No functional change.
Marco Costalba [Tue, 20 Jan 2015 21:17:22 +0000 (22:17 +0100)]
Don't use _pext_u64() directly
This intrinsic to call BMI2 PEXT instruction is
defined in immintrin.h. This header should be
included only when USE_PEXT is defined, otherwise
we define _pext_u64 as 0 forcing a nop.
But under some mingw platforms, even if we don't
include the header, immintrin.h gets included
anyhow through an include chain that starts with
STL <algorithm> header. So we end up both defining
_pext_u64 function and at the same time defining
_pext_u64 as 0 leading to a compile error.
The correct solution is of not using _pext_u64 directly.
This patch fixes a compile error with some mingw64
package when compiling with x86-64.
No functional change.
Marco Costalba [Mon, 19 Jan 2015 07:11:43 +0000 (08:11 +0100)]
Fix a MSVC warning at W4
Warning is C4512 (assignment operator could not be generated)
Now, apart the foreign syzygy code, everything compiles
without warnings at warning level 4.
No functional change.
Joona Kiiski [Sat, 17 Jan 2015 23:19:18 +0000 (23:19 +0000)]
Stockfish 6 Release Candidate 1
Bench:
8080602
No functional change
Resolves #218
Joona Kiiski [Sun, 18 Jan 2015 09:04:49 +0000 (09:04 +0000)]
Fix profile build for gcc on Mac OSX
Switch back to using -fprofile-generate and
-fprofile-use flags
No functional change
Resolves #219
Resolves #210
Joona Kiiski [Sat, 17 Jan 2015 23:01:10 +0000 (23:01 +0000)]
Don't print fail-high or fail-lows in MultiPV mode
Supposed to give a better user experience when using MultiPV mode
No functional change
Resolves #217
Marco Costalba [Sun, 18 Jan 2015 14:14:05 +0000 (15:14 +0100)]
Fix compile error with MSVC 2013
Without this std::min chokes with windows 'min' macro.
No functional change.
Marco Costalba [Sun, 18 Jan 2015 10:04:51 +0000 (11:04 +0100)]
Fun with initializer lists in UCI::square
No functional change.
Marco Costalba [Sun, 18 Jan 2015 09:41:56 +0000 (10:41 +0100)]
Fix a coverity scan warning
Coverity scan warns about uninitialized 'sf' argument when
calling probe(). Actually it is a false positive because
argument is passed by reference and assigned inside
probe(). Nevertheless it is a hint that fucntion signature
is a bit tricky, so rewrite it in a more conventional way,
assigning 'sf' from probe() return value.
No functional change.
Marco Costalba [Sun, 18 Jan 2015 07:05:05 +0000 (08:05 +0100)]
Add syzygy support
bench:
8080602
Marco Costalba [Sun, 18 Jan 2015 07:00:50 +0000 (08:00 +0100)]
Import C++11 branch
Import C++11 branch from:
https://github.com/mcostalba/Stockfish/tree/c++11
The version imported is teh last one as of today:
https://github.com/mcostalba/Stockfish/commit/
6670e93e50a7a4e739ac2ac8b6026ffa3a12150a
Branch is fully equivalent with master but syzygy
tablebases that are missing (but will be added with
next commit).
bench:
8080602
Marco Costalba [Sat, 17 Jan 2015 09:12:02 +0000 (10:12 +0100)]
Fix syzygy warnings with Intel compiler
Quick hack, a better job would require to
first move all syzygy code up to SF standard.
No functional change.
Marco Costalba [Sat, 17 Jan 2015 21:15:15 +0000 (22:15 +0100)]
Fix some missing rename from previous patch
No functional change.
Marco Costalba [Sat, 17 Jan 2015 08:04:25 +0000 (09:04 +0100)]
Fix a possible overflow in TT resize
On platforms where size_t is 32 bit, we
can have an overflow in this expression:
(mbSize * 1024 * 1024)
Fix it setting max hash size of 2GB on platforms
where size_t is 32 bit.
A small rename while there: now struct Cluster
is definied inside class TranspositionTable so
we should drop the redundant TT prefix.
No functional change.
mstembera [Fri, 16 Jan 2015 19:03:49 +0000 (19:03 +0000)]
Simplify and optimize value extractors
Speed up results by Joona:
gcc-4.7 (1.5%)
gcc-4.8 (0.5%)
gcc-4.9 (1.0%)
Speed up results by mstembera:
gcc 474
p-value: 0.719
gcc 482
p-value: 1
gcc 492
p-value: 0.859
No functional change
Resolves #211
lucasart [Wed, 14 Jan 2015 20:18:41 +0000 (20:18 +0000)]
Enable futility pruning for PV nodes in qsearch
STC:
LLR: 4.20 (-2.94,2.94) [-3.00,1.00]
Total: 85573 W: 17195 L: 17125 D: 51253
LTC:
LLR: 2.94 (-2.94,2.94) [-3.00,1.00]
Total: 43385 W: 7298 L: 7214 D: 28873
Bench:
8080602
Resolves #206
Stefan Geschwentner [Wed, 14 Jan 2015 20:11:33 +0000 (20:11 +0000)]
Enable Futility pruning in PV nodes
STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 21553 W: 4342 L: 4221 D: 12990
LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 7675 W: 1351 L: 1209 D: 5115
Bench:
8668014
Resolves #205
hxim [Tue, 13 Jan 2015 21:07:18 +0000 (21:07 +0000)]
Use VALUE_ZERO instead of 0 when comparing with Value
This is the correct practice.
No functional change
Resolves #208
Marco Costalba [Fri, 9 Jan 2015 11:35:44 +0000 (12:35 +0100)]
Assorted headers cleanup
Mostly comments fixing and other small things.
No functional change.
Marco Costalba [Sun, 11 Jan 2015 07:31:21 +0000 (08:31 +0100)]
Fix a crash of syzygy on Android
On Android-ARM current TB code crashes at
random times even in single thread mode.
Reported, debugged, fixed and verified
by Peter Osterlund.
No functional change.
Resolves #201
Stefano80 [Sun, 11 Jan 2015 20:02:41 +0000 (20:02 +0000)]
Higher movetime resolution for benchmarks
Use a millisecond movetime precision for benchmarks
No functional change
Resolves #198
Marco Costalba [Sat, 10 Jan 2015 15:14:37 +0000 (16:14 +0100)]
Fix compile for Android 5
Android 5 can only run position independent executables.
Note that this breaks Android 4.0 and earlier.
See here for more info:
http://stackoverflow.com/questions/
24818902 /running-a-native-library-on-android-l-error-only-position-independent-executab
Thanks to Peter Osterlund for the support.
No functional change
Marco Costalba [Sat, 10 Jan 2015 10:43:28 +0000 (11:43 +0100)]
Update copyright year
No functional change.
Marco Costalba [Wed, 7 Jan 2015 08:09:41 +0000 (09:09 +0100)]
Assorted formatting and comment tweaks in position.h
No functional change.
lucasart [Mon, 5 Jan 2015 22:09:12 +0000 (22:09 +0000)]
Tune null search reduction
STC
LLR: 2.96 (-2.94,2.94) [-0.50,4.50]
Total: 107289 W: 21851 L: 21325 D: 64113
LTC
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 83837 W: 14378 L: 13916 D: 55543
Bench:
7604776
Resolves #194
Marco Costalba [Sat, 3 Jan 2015 15:39:17 +0000 (16:39 +0100)]
Retire one implementation of pop_lsb()
We have two implementations that are equivalent,
so retire one.
Plus usual tidy up of comments and code reshuffle.
No functional change.
lucasart [Sat, 3 Jan 2015 11:29:00 +0000 (19:29 +0800)]
Remove a useless optimization
This optimization is aimed at old hardware only (withouth popcount), and even on
non popcount compile (ARCH=x86-64), it provides no mesurable speedup:
stat test master diff
mean 2,341,779 2,354,699 -12,920
stdev 12,910 14,770 18,150
speedup -0.55%
P(speedup>0) 23.8%
No functional change.
Resolves #187
Joona Kiiski [Sat, 3 Jan 2015 20:34:20 +0000 (20:34 +0000)]
Smoother king safety
STC:
LLR: 4.03 (-2.94,2.94) [-1.50,4.50]
Total: 35707 W: 7352 L: 7106 D: 21249
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 24563 W: 4330 L: 4095 D: 16138
Bench:
8411409
Resolves #190
Marco Costalba [Sat, 3 Jan 2015 09:51:38 +0000 (10:51 +0100)]
Assorted work in uci.cpp
- Change UCI::value() signature
This function should only return the value,
lowerbound and upperbound info is up to the
caller because it requires external knowledge,
out of the scope of this little helper.
- Retire 'key' command
It is not an UCI command and is absolutely
useless: never used.
- Comments fixing and other trivia
No functional change.
Marco Costalba [Sat, 3 Jan 2015 09:16:10 +0000 (10:16 +0100)]
Fix a silly warning with Intel compiler
Intel compiler cries for an explicit cast
warning #2259: non-pointer conversion from "double" to "int"
may lose significant bits
No functional change.
Marco Costalba [Thu, 1 Jan 2015 09:46:31 +0000 (10:46 +0100)]
Fix comments in thread.cpp
And reshuffle a bit the functions to place
them in a consistent order.
To be on the safe side, patch has been
validated for no regression/crashes with
a small 8K games test with 3 threads:
ELO: 3.98 +-4.4 (95%) LOS: 96.3%
Total: 8388 W: 1500 L: 1404 D: 5484
No functional change.
Marco Costalba [Tue, 30 Dec 2014 09:31:50 +0000 (10:31 +0100)]
Let material probing to access per-thread table
It is up to material (and pawn) table look up
code to know where the per-thread tables are,
so change API to reflect this.
Also some comment fixing while there
No functional change.
Matthew Lai [Fri, 2 Jan 2015 20:18:49 +0000 (20:18 +0000)]
Disable the default copy constructor for Position class
No functional change
Resolved #183
Stefan Geschwentner [Fri, 2 Jan 2015 19:31:33 +0000 (03:31 +0800)]
Big King Safety tuning
All king safety related terms (shelterweakness, stormdanger,
attackunits, ..) was tuned together. Additionally for attack units a
finer granularity (factor 4) is used.
STC
ELO: 9.22 +-3.1 (95%) LOS: 100.0%
Total: 19514 W: 4340 L: 3822 D: 11352
LTC
LLR: 2.96 (-2.94,2.94) [0.00,6.00]
Total: 6399 W: 1192 L: 1056 D: 4151
Bench:
8224782
Resolves #184
Marco Costalba [Wed, 31 Dec 2014 09:41:20 +0000 (10:41 +0100)]
Retire Material::space_weight()
Move all in evaluation.
Simplify the code and concentrate in a single place
all the logic behind space evaluation, making it much
more clear.
Verified also at STC it does not regress due to a possible
slow down:
LLR: 3.91 (-2.94,2.94) [-3.00,1.00]
Total: 65744 W: 13285 L: 13194 D: 39265
No functional change.
Marco Costalba [Sun, 28 Dec 2014 11:34:01 +0000 (12:34 +0100)]
Additional tidy up in timeman.cpp
Fixed some comments and moved/renamed some
variables.
No functional change.
Marco Costalba [Sat, 27 Dec 2014 09:47:21 +0000 (10:47 +0100)]
Use score and value consistently
And other assorted small fixing, code style
tweaks and reshuffles in evaluate.cpp
No functional change.
Arjun Temurnikar [Wed, 24 Dec 2014 03:50:00 +0000 (11:50 +0800)]
Remove some comments in timeman.cpp
Commenst are obsolete now, an updated description
would be quite obscure, so better let the code
to talk and remove them all together.
No functional change.
Marco Costalba [Wed, 24 Dec 2014 10:36:04 +0000 (11:36 +0100)]
Reformat promotion generation
Use the same template of other pawns moves generation,
make the code more uniform, simplify generate_promotions
that has now been renamed.
No functional change (verified also with perft).
Marco Costalba [Sun, 21 Dec 2014 09:52:34 +0000 (10:52 +0100)]
Prefer names to numbers in storm code
Also replaces some tabs with spaces and
change StormDanger order to reflect
ShelterWeakness one.
No functional change.
Joona Kiiski [Sat, 20 Dec 2014 08:51:53 +0000 (08:51 +0000)]
Use "rm -f" instead of "rm" for gcc profiling hack in Makefile
In some UNIX systems "rm" prompts user for confirmation.
However "rm -f" is always a guaranteed forced deletion.
Also move gcc profiling hack under the correct target
No Functional change
Resolves #168
Stefan Geschwentner [Sat, 20 Dec 2014 17:49:56 +0000 (01:49 +0800)]
Big King Safety tuning
ShelterWeakness and Stormdanger array are now indexed additionally by
file pair (a/h,b/g,c/f,d/e). The special case of king blocking a pawn
is incorporated in the StormDanger array. Finally the 93 parameters
are tuned by SPSA on LTC.
STC
ELO: 3.46 +-2.2 (95%) LOS: 99.9%
Total: 40000 W: 8275 L: 7877 D: 23848
LTC
LLR: 2.96 (-2.94,2.94) [0.00,6.00]
Total: 10311 W: 1876 L: 1721 D: 6714
Bench:
9498821
Resolves #163
Marco Costalba [Tue, 16 Dec 2014 07:25:54 +0000 (08:25 +0100)]
Don't account for Tempo in specialized endgames
The evaluation is already done by the specialized
function, don't need to add something elese later.
With this patch following positions are evaluated
correctly as draws:
8/6p1/1Pkp1p1p/2nNn2P/2P1K1P1/8/8/3B4 w - - 7
8/1k4p1/1P1p1p1p/3NnK1P/2P3P1/1n6/4B3/8 w - -
Verified it not regress with an STC test:
LLR: 3.15 (-2.94,2.94) [-3.00,1.00]
Total: 49812 W: 10095 L: 10016 D: 29701
Reported by Arjun Temurnikar.
bench:
8289983
mstembera [Thu, 18 Dec 2014 19:56:00 +0000 (03:56 +0800)]
Change profile-build options to produce 1% to 2% faster executables.
The "@rm ucioption.gc*" line is necessary to avoid a gcc 4.7.x bug.
Confirmed for gcc 4.7.4, 4.8.1, and 4.9.1
Suggested by Kiran Panditrao on fishcooking forum.
https://groups.google.com/forum/?fromgroups=#!topic/fishcooking/AY8gN53nG18
No functional change.
Resolves #160
Marco Costalba [Sun, 14 Dec 2014 08:31:13 +0000 (09:31 +0100)]
Improve comments in UCI
And simplify naming while there.
No functional change.
Resolves #159
Marco Costalba [Sat, 13 Dec 2014 08:27:39 +0000 (09:27 +0100)]
Coding style in TT code
In particular seems more natural to return
bool and TTEntry on the same line, actually
we should pass and return them as a pair,
but due to limitations of C++ and not wanting
to use std::pair this can be an acceptable
compromise.
No functional change.
Resolves #157
Gary Linscott [Sun, 14 Dec 2014 19:45:43 +0000 (14:45 -0500)]
Fix compile for some versions of mingw
The bswap intrinsics are specific to the compiler, not the
host platform.
No functional change.
Resolves #155
mstembera [Sat, 13 Dec 2014 07:16:35 +0000 (07:16 +0000)]
Avoid searching TT twice for the same key/position during probe() and store().
Just keep the pointer and remove code from tt.cpp
STC
LLR: 2.96 (-2.94,2.94) [-1.50,4.50]
Total: 13620 W: 2810 L: 2665 D: 8145
LTC
LLR: 2.97 (-2.94,2.94) [0.00,6.00]
Total: 13021 W: 2238 L: 2073 D: 8710STC http://tests.stockfishchess.org/tests/view/
548436860ebc59331739b90c
STC 4MB
ELO: 2.41 +-2.2 (95%) LOS: 98.6%
Total: 40000 W: 8175 L: 7897 D: 23928
LTC 16MB
ELO: 1.78 +-2.0 (95%) LOS: 96.1%
Total: 39683 W: 6763 L: 6560 D: 26360
Resolves #151
Bench:
8116521