/*
Stockfish, a UCI chess playing engine derived from Glaurung 2.1
- Copyright (C) 2004-2020 The Stockfish developers (see AUTHORS file)
+ Copyright (C) 2004-2021 The Stockfish developers (see AUTHORS file)
Stockfish is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
namespace Eval::NNUE {
+ // The accumulator of a StateInfo without parent is set to the INIT state
+ enum AccumulatorState { EMPTY, COMPUTED, INIT };
+
// Class that holds the result of affine transformation of input features
- struct alignas(32) Accumulator {
+ struct alignas(kCacheLineSize) Accumulator {
std::int16_t
accumulation[2][kRefreshTriggers.size()][kTransformedFeatureDimensions];
- Value score;
- bool computed_accumulation;
- bool computed_score;
+ AccumulatorState state[2];
};
} // namespace Eval::NNUE