Subversion Repositories Games.Chess Giants

Rev

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