hash.h

来自「超强国际象棋引擎」· C头文件 代码 · 共 36 行

H
36
字号
// hash.h

#ifndef HASH_H

#define HASH_H

// includes

#include "board.h"

// macros

#define KEY_INDEX(key) ((uint32)(key))
#define KEY_LOCK(key)  ((uint32)((key)>>32))

// variables

extern uint64 castle_64[16];

// functions

extern void hash_init();

extern uint64 hash_key(const board_t *board);
extern uint64 hash_pawn_key(const board_t *board);
extern uint64 hash_material_key(const board_t *board);

extern uint64 hash_piece_key(int piece, int square);
extern uint64 hash_castle_key(int flags);
extern uint64 hash_ep_key(int square);
extern uint64 hash_turn_key(int color);

#endif // !defined HASH_H

// end of hash.h

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?