version 1.4b27
[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 // constants\r
13 \r
14 const int RandomPiece     =   0; // 12 * 64\r
15 const int RandomCastle    = 768; // 4\r
16 const int RandomEnPassant = 772; // 8\r
17 const int RandomTurn      = 780; // 1\r
18 \r
19 // functions\r
20 \r
21 extern void   hash_init       ();\r
22 \r
23 extern uint64 hash_key        (const board_t * board);\r
24 \r
25 extern uint64 hash_piece_key  (int piece, int square);\r
26 extern uint64 hash_castle_key (int flags);\r
27 extern uint64 hash_ep_key     (int square);\r
28 extern uint64 hash_turn_key   (int colour);\r
29 \r
30 extern uint64 hash_random_64  (int index);\r
31 \r
32 #endif // !defined HASH_H\r
33 \r
34 // end of hash.h\r
35 \r