mirror of
https://github.com/sockspls/badfish
synced 2025-07-11 19:49:14 +00:00
Rearrange structs to avoid internal padding
Found with gcc -Wpadded gcc option. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
bc54a44010
commit
d15217b953
4 changed files with 13 additions and 14 deletions
|
@ -53,10 +53,10 @@ private:
|
||||||
BookEntry read_entry(int idx);
|
BookEntry read_entry(int idx);
|
||||||
int first_entry(uint64_t key);
|
int first_entry(uint64_t key);
|
||||||
|
|
||||||
|
RKISS RKiss;
|
||||||
std::ifstream bookFile;
|
std::ifstream bookFile;
|
||||||
std::string bookName;
|
std::string bookName;
|
||||||
int bookSize;
|
int bookSize;
|
||||||
RKISS RKiss;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // !defined(BOOK_H_INCLUDED)
|
#endif // !defined(BOOK_H_INCLUDED)
|
||||||
|
|
|
@ -58,9 +58,9 @@ struct StateInfo {
|
||||||
Score value;
|
Score value;
|
||||||
Value npMaterial[2];
|
Value npMaterial[2];
|
||||||
|
|
||||||
PieceType capturedType;
|
|
||||||
Key key;
|
Key key;
|
||||||
Bitboard checkersBB;
|
Bitboard checkersBB;
|
||||||
|
PieceType capturedType;
|
||||||
StateInfo* previous;
|
StateInfo* previous;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -256,16 +256,16 @@ private:
|
||||||
int index[64]; // [square]
|
int index[64]; // [square]
|
||||||
|
|
||||||
// Other info
|
// Other info
|
||||||
Color sideToMove;
|
|
||||||
Key history[MaxGameLength];
|
Key history[MaxGameLength];
|
||||||
int castleRightsMask[64]; // [square]
|
int castleRightsMask[64]; // [square]
|
||||||
Square castleRookSquare[16]; // [castleRight]
|
Square castleRookSquare[16]; // [castleRight]
|
||||||
StateInfo startState;
|
StateInfo startState;
|
||||||
bool chess960;
|
int64_t nodes;
|
||||||
|
Color sideToMove;
|
||||||
int fullMoves;
|
int fullMoves;
|
||||||
int threadID;
|
int threadID;
|
||||||
int64_t nodes;
|
|
||||||
StateInfo* st;
|
StateInfo* st;
|
||||||
|
int chess960;
|
||||||
|
|
||||||
// Static variables
|
// Static variables
|
||||||
static Score pieceSquareTable[16][64]; // [piece][square]
|
static Score pieceSquareTable[16][64]; // [piece][square]
|
||||||
|
|
|
@ -34,6 +34,7 @@ struct SplitPoint;
|
||||||
/// current ply.
|
/// current ply.
|
||||||
|
|
||||||
struct SearchStack {
|
struct SearchStack {
|
||||||
|
SplitPoint* sp;
|
||||||
int ply;
|
int ply;
|
||||||
Move currentMove;
|
Move currentMove;
|
||||||
Move excludedMove;
|
Move excludedMove;
|
||||||
|
@ -42,8 +43,7 @@ struct SearchStack {
|
||||||
Depth reduction;
|
Depth reduction;
|
||||||
Value eval;
|
Value eval;
|
||||||
Value evalMargin;
|
Value evalMargin;
|
||||||
bool skipNullMove;
|
int skipNullMove;
|
||||||
SplitPoint* sp;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -59,10 +59,9 @@ struct SearchLimits {
|
||||||
: time(t), increment(i), movesToGo(mtg), maxTime(mt), maxDepth(md),
|
: time(t), increment(i), movesToGo(mtg), maxTime(mt), maxDepth(md),
|
||||||
maxNodes(mn), infinite(inf), ponder(pon) {}
|
maxNodes(mn), infinite(inf), ponder(pon) {}
|
||||||
|
|
||||||
bool useTimeManagement() const { return !(maxTime | maxDepth | maxNodes | int(infinite)); }
|
bool useTimeManagement() const { return !(maxTime | maxDepth | maxNodes | infinite); }
|
||||||
|
|
||||||
int time, increment, movesToGo, maxTime, maxDepth, maxNodes;
|
int time, increment, movesToGo, maxTime, maxDepth, maxNodes, infinite, ponder;
|
||||||
bool infinite, ponder;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extern void init_search();
|
extern void init_search();
|
||||||
|
|
|
@ -37,8 +37,8 @@ struct SplitPoint {
|
||||||
SplitPoint* parent;
|
SplitPoint* parent;
|
||||||
const Position* pos;
|
const Position* pos;
|
||||||
Depth depth;
|
Depth depth;
|
||||||
bool pvNode;
|
|
||||||
Value beta;
|
Value beta;
|
||||||
|
int pvNode;
|
||||||
int ply;
|
int ply;
|
||||||
int master;
|
int master;
|
||||||
Move threatMove;
|
Move threatMove;
|
||||||
|
@ -79,6 +79,7 @@ struct Thread {
|
||||||
bool cutoff_occurred() const;
|
bool cutoff_occurred() const;
|
||||||
bool is_available_to(int master) const;
|
bool is_available_to(int master) const;
|
||||||
|
|
||||||
|
SplitPoint splitPoints[MAX_ACTIVE_SPLIT_POINTS];
|
||||||
MaterialInfoTable materialTable;
|
MaterialInfoTable materialTable;
|
||||||
PawnInfoTable pawnTable;
|
PawnInfoTable pawnTable;
|
||||||
int maxPly;
|
int maxPly;
|
||||||
|
@ -87,7 +88,6 @@ struct Thread {
|
||||||
volatile ThreadState state;
|
volatile ThreadState state;
|
||||||
SplitPoint* volatile splitPoint;
|
SplitPoint* volatile splitPoint;
|
||||||
volatile int activeSplitPoints;
|
volatile int activeSplitPoints;
|
||||||
SplitPoint splitPoints[MAX_ACTIVE_SPLIT_POINTS];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -118,13 +118,13 @@ public:
|
||||||
void split(Position& pos, SearchStack* ss, Value* alpha, const Value beta, Value* bestValue,
|
void split(Position& pos, SearchStack* ss, Value* alpha, const Value beta, Value* bestValue,
|
||||||
Depth depth, Move threatMove, int moveCount, MovePicker* mp, bool pvNode);
|
Depth depth, Move threatMove, int moveCount, MovePicker* mp, bool pvNode);
|
||||||
private:
|
private:
|
||||||
|
Thread threads[MAX_THREADS];
|
||||||
Lock mpLock;
|
Lock mpLock;
|
||||||
Depth minimumSplitDepth;
|
Depth minimumSplitDepth;
|
||||||
int maxThreadsPerSplitPoint;
|
int maxThreadsPerSplitPoint;
|
||||||
bool useSleepingThreads;
|
|
||||||
int activeThreads;
|
int activeThreads;
|
||||||
|
bool useSleepingThreads;
|
||||||
volatile bool allThreadsShouldExit;
|
volatile bool allThreadsShouldExit;
|
||||||
Thread threads[MAX_THREADS];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extern ThreadsManager Threads;
|
extern ThreadsManager Threads;
|
||||||
|
|
Loading…
Add table
Reference in a new issue