Skip to content

Commit 908d988

Browse files
committed
Don't explicitize enum values when not needed
Compiler will chose the correct values in sequential order for you. Also move file and rank bitboards definitions to bitboard.h No functional change.
1 parent a4c11b7 commit 908d988

File tree

2 files changed

+38
-39
lines changed

2 files changed

+38
-39
lines changed

src/bitboard.h

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,24 @@ bool probe_kpk(Square wksq, Square wpsq, Square bksq, Color us);
3737

3838
}
3939

40+
const Bitboard FileABB = 0x0101010101010101ULL;
41+
const Bitboard FileBBB = FileABB << 1;
42+
const Bitboard FileCBB = FileABB << 2;
43+
const Bitboard FileDBB = FileABB << 3;
44+
const Bitboard FileEBB = FileABB << 4;
45+
const Bitboard FileFBB = FileABB << 5;
46+
const Bitboard FileGBB = FileABB << 6;
47+
const Bitboard FileHBB = FileABB << 7;
48+
49+
const Bitboard Rank1BB = 0xFF;
50+
const Bitboard Rank2BB = Rank1BB << (8 * 1);
51+
const Bitboard Rank3BB = Rank1BB << (8 * 2);
52+
const Bitboard Rank4BB = Rank1BB << (8 * 3);
53+
const Bitboard Rank5BB = Rank1BB << (8 * 4);
54+
const Bitboard Rank6BB = Rank1BB << (8 * 5);
55+
const Bitboard Rank7BB = Rank1BB << (8 * 6);
56+
const Bitboard Rank8BB = Rank1BB << (8 * 7);
57+
4058
CACHE_LINE_ALIGNMENT
4159

4260
extern Bitboard RMasks[SQUARE_NB];

src/types.h

Lines changed: 20 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -90,25 +90,6 @@ const int MAX_MOVES = 192;
9090
const int MAX_PLY = 100;
9191
const int MAX_PLY_PLUS_2 = MAX_PLY + 2;
9292

93-
const Bitboard FileABB = 0x0101010101010101ULL;
94-
const Bitboard FileBBB = FileABB << 1;
95-
const Bitboard FileCBB = FileABB << 2;
96-
const Bitboard FileDBB = FileABB << 3;
97-
const Bitboard FileEBB = FileABB << 4;
98-
const Bitboard FileFBB = FileABB << 5;
99-
const Bitboard FileGBB = FileABB << 6;
100-
const Bitboard FileHBB = FileABB << 7;
101-
102-
const Bitboard Rank1BB = 0xFF;
103-
const Bitboard Rank2BB = Rank1BB << (8 * 1);
104-
const Bitboard Rank3BB = Rank1BB << (8 * 2);
105-
const Bitboard Rank4BB = Rank1BB << (8 * 3);
106-
const Bitboard Rank5BB = Rank1BB << (8 * 4);
107-
const Bitboard Rank6BB = Rank1BB << (8 * 5);
108-
const Bitboard Rank7BB = Rank1BB << (8 * 6);
109-
const Bitboard Rank8BB = Rank1BB << (8 * 7);
110-
111-
11293
/// A move needs 16 bits to be stored
11394
///
11495
/// bit 0- 5: destination square (from 0 to 63)
@@ -121,24 +102,24 @@ const Bitboard Rank8BB = Rank1BB << (8 * 7);
121102
/// while MOVE_NONE and MOVE_NULL have the same origin and destination square.
122103

123104
enum Move {
124-
MOVE_NONE = 0,
105+
MOVE_NONE,
125106
MOVE_NULL = 65
126107
};
127108

128109
enum MoveType {
129-
NORMAL = 0,
110+
NORMAL,
130111
PROMOTION = 1 << 14,
131112
ENPASSANT = 2 << 14,
132113
CASTLE = 3 << 14
133114
};
134115

135116
enum CastleRight { // Defined as in PolyGlot book hash key
136-
CASTLES_NONE = 0,
137-
WHITE_OO = 1,
138-
WHITE_OOO = 2,
139-
BLACK_OO = 4,
140-
BLACK_OOO = 8,
141-
ALL_CASTLES = 15,
117+
CASTLES_NONE,
118+
WHITE_OO,
119+
WHITE_OOO = WHITE_OO << 1,
120+
BLACK_OO = WHITE_OO << 2,
121+
BLACK_OOO = WHITE_OO << 3,
122+
ALL_CASTLES = WHITE_OO | WHITE_OOO | BLACK_OO | BLACK_OOO,
142123
CASTLE_RIGHT_NB = 16
143124
};
144125

@@ -149,7 +130,7 @@ enum CastlingSide {
149130
};
150131

151132
enum Phase {
152-
PHASE_ENDGAME = 0,
133+
PHASE_ENDGAME,
153134
PHASE_MIDGAME = 128,
154135
MG = 0, EG = 1, PHASE_NB = 2
155136
};
@@ -162,9 +143,9 @@ enum ScaleFactor {
162143
};
163144

164145
enum Bound {
165-
BOUND_NONE = 0,
166-
BOUND_UPPER = 1,
167-
BOUND_LOWER = 2,
146+
BOUND_NONE,
147+
BOUND_UPPER,
148+
BOUND_LOWER,
168149
BOUND_EXACT = BOUND_UPPER | BOUND_LOWER
169150
};
170151

@@ -190,15 +171,15 @@ enum Value {
190171
};
191172

192173
enum PieceType {
193-
NO_PIECE_TYPE = 0, ALL_PIECES = 0,
194-
PAWN = 1, KNIGHT = 2, BISHOP = 3, ROOK = 4, QUEEN = 5, KING = 6,
174+
NO_PIECE_TYPE, PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING,
175+
ALL_PIECES = 0,
195176
PIECE_TYPE_NB = 8
196177
};
197178

198179
enum Piece {
199-
NO_PIECE = 0,
200-
W_PAWN = 1, W_KNIGHT = 2, W_BISHOP = 3, W_ROOK = 4, W_QUEEN = 5, W_KING = 6,
201-
B_PAWN = 9, B_KNIGHT = 10, B_BISHOP = 11, B_ROOK = 12, B_QUEEN = 13, B_KING = 14,
180+
NO_PIECE,
181+
W_PAWN = 1, W_KNIGHT, W_BISHOP, W_ROOK, W_QUEEN, W_KING,
182+
B_PAWN = 9, B_KNIGHT, B_BISHOP, B_ROOK, B_QUEEN, B_KING,
202183
PIECE_NB = 16
203184
};
204185

@@ -245,11 +226,11 @@ enum Square {
245226
};
246227

247228
enum File {
248-
FILE_A, FILE_B, FILE_C, FILE_D, FILE_E, FILE_F, FILE_G, FILE_H, FILE_NB = 8
229+
FILE_A, FILE_B, FILE_C, FILE_D, FILE_E, FILE_F, FILE_G, FILE_H, FILE_NB
249230
};
250231

251232
enum Rank {
252-
RANK_1, RANK_2, RANK_3, RANK_4, RANK_5, RANK_6, RANK_7, RANK_8, RANK_NB = 8
233+
RANK_1, RANK_2, RANK_3, RANK_4, RANK_5, RANK_6, RANK_7, RANK_8, RANK_NB
253234
};
254235

255236

@@ -258,7 +239,7 @@ enum Rank {
258239
/// for midgame value. Compiler is free to choose the enum type as long as can
259240
/// keep its data, so ensure Score to be an integer type.
260241
enum Score {
261-
SCORE_ZERO = 0,
242+
SCORE_ZERO,
262243
SCORE_ENSURE_INTEGER_SIZE_P = INT_MAX,
263244
SCORE_ENSURE_INTEGER_SIZE_N = INT_MIN
264245
};

0 commit comments

Comments
 (0)