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 |