⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transposition.h

📁 超强国际象棋引擎
💻 H
字号:
// transposition.h

#ifndef TRANS_H

#define TRANS_H

// macros

#define TRANS_IS_UPPER(flags) (((flags)&(1 << 0))!=0)
#define TRANS_IS_LOWER(flags) (((flags)&(1 << 1))!=0)
#define TRANS_IS_EXACT(flags) ((flags)==((1 << 0) | (1 << 1)))

struct entry_t
    {
    uint64 key;
    uint16 move;
    uint8 depth;
    uint8 date_flags;
    sint16 value;
    uint16 nproc;
    };

// types

typedef struct trans trans_t;

// variables

extern trans_t Trans[1];

extern bool trans_endgame;

// functions

extern void trans_parameter();
extern bool trans_is_ok(const trans_t *trans);
extern void trans_init(trans_t *trans);
extern void trans_alloc(trans_t *trans);
extern void trans_free(trans_t *trans);
extern void trans_clear(trans_t *trans);
extern void trans_inc_date(trans_t *trans);
extern void trans_store(trans_t *trans, uint64 key, int move, int depth, int flags, int value);
extern bool trans_retrieve(trans_t *trans, entry_t ** found_entry, uint64 key, int *move, int *depth, int *flags,
    int *value);

extern void trans_stats(const trans_t *trans);

#endif // !defined TRANS_H

// end of transposition.h

⌨️ 快捷键说明

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