transposition.h

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

H
51
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?