Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
112 | pmbaty | 1 | /* |
2 | Protector -- a UCI chess engine |
||
3 | |||
4 | Copyright (C) 2009-2010 Raimund Heid (Raimund_Heid@yahoo.com) |
||
5 | |||
6 | This program is free software: you can redistribute it and/or modify |
||
7 | it under the terms of the GNU General Public License as published by |
||
8 | the Free Software Foundation, either version 3 of the License, or |
||
9 | (at your option) any later version. |
||
10 | |||
11 | This program is distributed in the hope that it will be useful, |
||
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||
14 | GNU General Public License for more details. |
||
15 | |||
16 | You should have received a copy of the GNU General Public License |
||
17 | along with this program. If not, see <http://www.gnu.org/licenses/>. |
||
18 | |||
19 | */ |
||
20 | |||
21 | #ifndef _tablebase_h_ |
||
22 | #define _tablebase_h_ |
||
23 | |||
24 | #include "position.h" |
||
25 | |||
26 | extern bool tbAvailable; |
||
27 | |||
28 | #define TABLEBASE_ERROR 32768 |
||
29 | |||
30 | /** |
||
31 | * Initialize this module. |
||
32 | * |
||
33 | * @return 0 if no errors occurred. |
||
34 | */ |
||
35 | int initializeModuleTablebase(void); |
||
36 | |||
37 | /** |
||
38 | * Test this module. |
||
39 | * |
||
40 | * @return 0 if all tests succeed. |
||
41 | */ |
||
42 | int testModuleTablebase(void); |
||
43 | |||
44 | /** |
||
45 | * Initialize tablebase support. |
||
46 | * |
||
47 | * @param path the directory containing the tablebase files |
||
48 | * |
||
49 | * @return 0 if no errors occurred. |
||
50 | */ |
||
51 | int initializeTablebase(const char *path); |
||
52 | |||
53 | /** |
||
54 | * Close all tablebase files. |
||
55 | */ |
||
56 | void closeTablebaseFiles(void); |
||
57 | |||
58 | /** |
||
59 | * Set the size of the tablebase cache. |
||
60 | * |
||
61 | * @var size the size of the tablebase cache in MB |
||
62 | * |
||
63 | * @return 0 if no errors occurred |
||
64 | */ |
||
65 | int setTablebaseCacheSize(unsigned int size); |
||
66 | |||
67 | /** |
||
68 | * Probe the tablebase for the specified position. |
||
69 | */ |
||
70 | int probeTablebase(const Position * position); |
||
71 | |||
72 | #endif |