version 1.4.56b
[polyglot.git] / hash.h
1 \r
2 // hash.h\r
3 \r
4 #ifndef HASH_H\r
5 #define HASH_H\r
6 \r
7 // includes\r
8 \r
9 #include "board.h"\r
10 #include "util.h"\r
11 \r
12 // defines\r
13 \r
14 #define RandomPiece          0\r
15 // 12 * 64\r
16 #define RandomCastle       768\r
17 // 4\r
18 #define RandomEnPassant    772\r
19 // 8\r
20 #define  RandomTurn        780\r
21 // 1\r
22 \r
23 // functions\r
24 \r
25 extern void   hash_init       ();\r
26 \r
27 extern uint64 hash_key        (const board_t * board);\r
28 \r
29 extern uint64 hash_piece_key  (int piece, int square);\r
30 extern uint64 hash_castle_key (int flags);\r
31 extern uint64 hash_ep_key     (int square);\r
32 extern uint64 hash_turn_key   (int colour);\r
33 \r
34 extern uint64 hash_random_64  (int index);\r
35 \r
36 #endif // !defined HASH_H\r
37 \r
38 // end of hash.h\r
39 \r