Marco Costalba
de828bdde7
Document decompression
2016-06-04 10:08:13 +02:00
Marco Costalba
f71e21e3af
Drop alpha and beta in search
...
Useless because they are always WDLLoss and WDLWin.
2016-06-03 08:16:49 +02:00
Marco Costalba
9d088003f4
Get rid of tb_size[8]
...
And align functions open braces to SF standard.
2016-06-02 10:07:49 +02:00
Marco Costalba
02004b8e50
Fix groupLen[] size
...
It is zero-terminated array of group lengths, so in case
of 6-men, all different peices we have 6 groups and we need
size 7 to account for the zero-termination.
2016-06-02 08:36:40 +02:00
Marco Costalba
3077acaa2d
Reworwk groups array
2016-06-01 18:02:04 +02:00
Marco Costalba
99d5346eb5
Document set_groups()
2016-06-01 12:54:15 +02:00
Marco Costalba
f9d894a675
Complete work in do_probe_table()
2016-05-30 18:06:00 +02:00
Marco Costalba
c568078c16
More work in do_probe_table()
2016-05-29 18:03:05 +02:00
Marco Costalba
15dce36035
Sync with master
...
bench: 7031649
2016-05-29 15:41:43 +02:00
Marco Costalba
65186e964b
Assorted renaming and document
2016-05-29 12:11:15 +02:00
Stéphane Nicolet
07b247f943
Pins or discovered attacks on the opponent's queen
...
Bonus for pins or discovered attacks on the opponent's queen
STC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 32020 W: 5914 L: 5652 D: 20454
LTC:
LLR: 2.97 (-2.94,2.94) [0.00,5.00]
Total: 10946 W: 1530 L: 1375 D: 8041
Bench: 7031649
2016-05-28 14:57:58 +02:00
Stéphane Nicolet
abac509ccb
Teach check_blockers to check also non-king pieces
...
This is a prerequisite for next patch
No functional change.
2016-05-28 14:52:21 +02:00
Marco Costalba
f4a1b3ac77
Reset TB when ucinewgame
...
This unmaps all the memory mapped TB
freeing unsued memory.
2016-05-28 11:00:25 +02:00
Marco Costalba
551a5246f0
Send uci 'info' to std::out as standard behaviour
2016-05-27 12:39:55 +02:00
Marco Costalba
8e2adf3c4c
Move variable defintions where are used
2016-05-27 12:31:42 +02:00
Marco Costalba
ac65186fa9
Move 'wdl' and 'dtz' UCI commands under 'd'
2016-05-27 08:47:23 +02:00
Marco Costalba
c77a13ef4a
Retire old DTZ table
2016-05-26 23:33:12 +02:00
Marco Costalba
5bd859e1fa
Retire old DTZ probing code
2016-05-26 23:09:35 +02:00
Marco Costalba
1b00b426a0
Verify DTZ in hash is equivalent to current one
2016-05-26 23:09:32 +02:00
Marco Costalba
a12542cbaa
Attempt to init() just once
...
In case something goes wrong baseAddress is set to zero
and any further attempt to init() returns false.
This is a prerequisite for future work.
2016-05-26 23:09:25 +02:00
Marco Costalba
2e3412fdd0
Use hash table also for DTZ
2016-05-26 23:09:19 +02:00
Marco Costalba
3ea9928f55
Revert "Add DTZ to WDL hash table"
...
This reverts commit 19bc074c18
.
2016-05-26 18:57:57 +02:00
Marco Costalba
19bc074c18
Add DTZ to WDL hash table
...
A single hash table to store both pointers.
Greatly simplify code.
2016-05-26 18:51:25 +02:00
Stéphane Nicolet
ab0f4c0353
Simplify doubled pawn
...
Only use doubled pawn malus when the doubled pawns are on consecutive squares.
Passed STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 7678 W: 1469 L: 1325 D: 4884
And LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 26739 W: 3562 L: 3449 D: 19728
Bench: 8211685
2016-05-26 12:33:44 +02:00
Marco Costalba
ff3165286c
Make DTZEntry init() thread safe
2016-05-26 10:48:26 +02:00
Marco Costalba
5ebd56ebd8
Retire pos_code()
2016-05-26 10:20:44 +02:00
Marco Costalba
32c1f1da26
Rearrange WDLEntry API
...
To avoid using temporaries like keys[]
2016-05-26 09:54:16 +02:00
Marco Costalba
107750279d
Move file name setup inside init()
2016-05-26 09:26:48 +02:00
Marco Costalba
ac136ea72b
De-templetize a couple of functions
...
Use simple overloads instead.
2016-05-26 09:12:50 +02:00
Marco Costalba
c920c6c807
Improve some comments
2016-05-25 11:31:01 +02:00
Marco Costalba
23a548feaa
Small tweak in probe_dtz()
2016-05-24 13:10:31 +02:00
Marco Costalba
09139d87cb
Fix an issue with only capture moves
...
When the only legal moves are captures, then
probe_wdl_table() returns a wrong score.
2016-05-24 10:10:22 +02:00
Marco Costalba
f852b0ed8f
Hanlde mate position in dtz probe
...
Stick to the original code behaviour.
2016-05-24 09:50:56 +02:00
Marco Costalba
36d6a1fd0a
Third attempt: hopefully the last one
2016-05-23 09:26:18 +02:00
Marco Costalba
de5a03ff0f
Second attempt at dtz loop
2016-05-22 15:53:57 +02:00
Marco Costalba
e9e9cfa9bf
Further simplify opponent side DTZ search
2016-05-22 10:24:44 +02:00
Marco Costalba
eb16759a48
Explicitly initialize 'ready' flag
2016-05-22 09:49:03 +02:00
Marco Costalba
0610a13789
Initialize result before probing
2016-05-22 07:28:54 +02:00
Marco Costalba
8925a28cf1
Fix ep move for real this time
2016-05-21 21:51:23 +02:00
Marco Costalba
db8112ec9e
Fix issue and rewrite search() flags
2016-05-21 21:39:04 +02:00
Marco Costalba
3731213994
Further simplify probe_dtz() loop conditions
2016-05-21 20:27:28 +02:00
Marco Costalba
6a6a7d2b22
Make probe_dtz_table() return correct dtz
2016-05-21 19:55:32 +02:00
Marco Costalba
96314cc971
Prefer readibility to (useless) optimization
2016-05-21 19:43:36 +02:00
Marco Costalba
de335433ea
Added 'wdl' and 'dtz' UI debug commands
...
Probe WDL and DTZ tables on current position.
2016-05-21 15:14:50 +02:00
Marco Costalba
0700912dc5
Further improve probe_dtz()
2016-05-21 10:58:09 +02:00
Marco Costalba
0b040243ba
Remove ep specific code from dtz probe
2016-05-21 10:43:34 +02:00
Marco Costalba
47e21c274d
More work in probe_dtz_no_ep()
2016-05-21 10:33:53 +02:00
Marco Costalba
bea98066a0
Integrate WIN_PAWN_MOVE into the search() loop
2016-05-21 09:53:47 +02:00
Marco Costalba
4b068d50f6
Strong type probe state
2016-05-21 08:30:46 +02:00
Marco Costalba
af95d27fd7
Fix enpassant case to handle 2 ep moves
2016-05-21 07:31:03 +02:00