Cute Chess
0.1
Main Page
Namespaces
Classes
Files
File List
projects
lib
3rdparty
fathom
src
tbconfig.h
1
/*
2
* tbconfig.h
3
* (C) 2015 basil, all rights reserved,
4
*
5
* Permission is hereby granted, free of charge, to any person obtaining a
6
* copy of this software and associated documentation files (the "Software"),
7
* to deal in the Software without restriction, including without limitation
8
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
9
* and/or sell copies of the Software, and to permit persons to whom the
10
* Software is furnished to do so, subject to the following conditions:
11
*
12
* The above copyright notice and this permission notice shall be included in
13
* all copies or substantial portions of the Software.
14
*
15
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
* DEALINGS IN THE SOFTWARE.
22
*/
23
24
#ifndef TBCONFIG_H
25
#define TBCONFIG_H
26
27
/****************************************************************************/
28
/* BUILD CONFIG: */
29
/****************************************************************************/
30
31
/*
32
* Define TB_CUSTOM_POP_COUNT to override the internal popcount
33
* implementation. To do this supply a macro or function definition
34
* here:
35
*/
36
/* #define TB_CUSTOM_POP_COUNT(x) <DEFINITION> */
37
38
/*
39
* Define TB_CUSTOM_LSB to override the internal lsb
40
* implementation. To do this supply a macro or function definition
41
* here:
42
*/
43
/* #define TB_CUSTOM_LSB(x) <DEFINITION> */
44
45
/*
46
* Define TB_CUSTOM_BSWAP32 to override the internal bswap32
47
* implementation. To do this supply a macro or function definition
48
* here:
49
*/
50
/* #define TB_CUSTOM_BSWAP32(x) <DEFINITION> */
51
52
/*
53
* Define TB_CUSTOM_BSWAP64 to override the internal bswap64
54
* implementation. To do this supply a macro or function definition
55
* here:
56
*/
57
/* #define TB_CUSTOM_BSWAP64(x) <DEFINITION> */
58
59
/*
60
* Define TB_NO_STDINT if you do not want to use <stdint.h> or it is not
61
* available.
62
*/
63
/* #define TB_NO_STDINT */
64
65
/*
66
* Define TB_NO_STDBOOL if you do not want to use <stdbool.h> or it is not
67
* available or unnecessary (e.g. C++).
68
*/
69
#define TB_NO_STDBOOL
70
71
/*
72
* Define TB_NO_THREADS if your program is not multi-threaded.
73
*/
74
/* #define TB_NO_THREADS */
75
76
/*
77
* Define TB_NO_HELPER_API if you do not need the helper API.
78
*/
79
#define TB_NO_HELPER_API
80
81
/*
82
* Define TB_NO_HW_POP_COUNT if there is no hardware popcount instruction.
83
*/
84
#define TB_NO_HW_POP_COUNT
85
86
/***************************************************************************/
87
/* ENGINE INTEGRATION CONFIG */
88
/***************************************************************************/
89
90
/*
91
* If you are integrating tbprobe into an engine, you can replace some of
92
* tbprobe's built-in functionality with that already provided by the engine.
93
* This is OPTIONAL. If no definition are provided then tbprobe will use its
94
* own internal defaults. That said, for engines it is generally a good idea
95
* to avoid redundancy.
96
*/
97
98
/*
99
* Define TB_KING_ATTACKS(square) to return the king attacks bitboard for a
100
* king at `square'.
101
*/
102
/* #define TB_KING_ATTACKS(square) <DEFINITION> */
103
104
/*
105
* Define TB_KNIGHT_ATTACKS(square) to return the knight attacks bitboard for
106
* a knight at `square'.
107
*/
108
/* #define TB_KNIGHT_ATTACKS(square) <DEFINITION> */
109
110
/*
111
* Define TB_ROOK_ATTACKS(square, occ) to return the rook attacks bitboard
112
* for a rook at `square' assuming the given `occ' occupancy bitboard.
113
*/
114
/* #define TB_ROOK_ATTACKS(square, occ) <DEFINITION> */
115
116
/*
117
* Define TB_BISHOP_ATTACKS(square, occ) to return the bishop attacks bitboard
118
* for a bishop at `square' assuming the given `occ' occupancy bitboard.
119
*/
120
/* #define TB_BISHOP_ATTACKS(square, occ) <DEFINITION> */
121
122
/*
123
* Define TB_QUEEN_ATTACKS(square, occ) to return the queen attacks bitboard
124
* for a queen at `square' assuming the given `occ' occupancy bitboard.
125
* NOTE: If no definition is provided then tbprobe will use:
126
* TB_ROOK_ATTACKS(square, occ) | TB_BISHOP_ATTACKS(square, occ)
127
*/
128
/* #define TB_QUEEN_ATTACKS(square, occ) <DEFINITION> */
129
130
/*
131
* Define TB_PAWN_ATTACKS(square, color) to return the pawn attacks bitboard
132
* for a `color' pawn at `square'.
133
* NOTE: This definition must work for pawns on ranks 1 and 8. For example,
134
* a white pawn on e1 attacks d2 and f2. A black pawn on e1 attacks
135
* nothing. Etc.
136
* NOTE: This definition must not include en passant captures.
137
*/
138
/* #define TB_PAWN_ATTACKS(square, color) <DEFINITION> */
139
140
#endif
Generated by
1.8.11