-
Notifications
You must be signed in to change notification settings - Fork 53
/
Copy pathpermute.h
35 lines (31 loc) · 1.41 KB
/
permute.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef PERMUTE_H
#define PERMUTE_H
#include "types.h"
#define MAX_STEP (1ULL << 30)
uint64_t init_permute_piece(int *pcs, int *pt);
void init_permute_pawn(int *pcs, int *pt);
uint64_t init_permute_file(int *pcs, int file);
void permute_piece_wdl(u8 *tb_table, int *pcs, int *pt, u8 *table,
uint8_t *best, u8 *v);
uint64_t estimate_piece_dtz_u8(int *pcs, int *pt, u8 *table, uint8_t *best,
int *bestp, u8 *v);
uint64_t estimate_piece_dtz_u16(int *pcs, int *pt, u16 *table, uint8_t *best,
int *bestp, u16 *v);
void permute_piece_dtz_u8(u8 *tb_table, int *pcs, u8 *table, int bestp, u8 *v);
void permute_piece_dtz_u16(u16 *tb_table, int *pcs, u16 *table, int bestp,
u16 *v);
void permute_piece_dtz_u16_full(u16 *tb_table, int *pcs, u16 *table, int bestp,
u16 *v, uint64_t tb_step);
void permute_pawn_wdl(u8 *tb_table, int *pcs, int *pt, u8 *table, uint8_t *best,
int file, u8 *v);
uint64_t estimate_pawn_dtz_u8(int *pcs, int *pt, u8 *table, uint8_t *best,
int *bestp, int file, u8 *v);
uint64_t estimate_pawn_dtz_u16(int *pcs, int *pt, u16 *table, uint8_t *best,
int *bestp, int file, u16 *v);
void permute_pawn_dtz_u8(u8 *tb_table, int *pcs, u8 *table, int bestp, int file,
u8 *v);
void permute_pawn_dtz_u16(u16 *tb_table, int *pcs, u16 *table, int bestp,
int file, u16 *v);
void permute_pawn_dtz_u16_full(u16 *tb_table, int *pcs, u16 *table, int bestp,
int file, u16 *v, uint64_t tb_step);
#endif