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 _search_h_
22
#define _search_h_
23
 
24
#include "protector.h"
25
#include "position.h"
26
#include "movegeneration.h"
27
 
28
/**
29
 * Search the best move in the position specified by 'variation'.
30
 * If acceptable solutions are specified and the search process yields
31
 * an acceptable solution in two consecutive iterations the search
32
 * will be terminated and the last acceptable move will be returned
33
 * as best move.
34
 *
35
 * @param acceptableSolutions the acceptable solution moves (optional)
36
 *
37
 * @return the best move found in the conducted search
38
 */
39
Move search(Variation * variation, Movelist * acceptableSolutions);
40
 
41
/**
42
 * Initialize this module.
43
 *
44
 * @return 0 if no errors occurred.
45
 */
46
int initializeModuleSearch(void);
47
 
48
/**
49
 * Test this module.
50
 *
51
 * @return 0 if all tests succeed.
52
 */
53
int testModuleSearch(void);
54
 
55
#endif