mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-26 03:56:50 +08:00
48 lines
1015 B
C++
48 lines
1015 B
C++
//Common header of input features of NNUE evaluation function
|
|
|
|
#ifndef _NNUE_FEATURES_COMMON_H_
|
|
#define _NNUE_FEATURES_COMMON_H_
|
|
|
|
#if defined(EVAL_NNUE)
|
|
|
|
#include "../../../evaluate.h"
|
|
#include "../nnue_common.h"
|
|
|
|
namespace Eval {
|
|
|
|
namespace NNUE {
|
|
|
|
namespace Features {
|
|
|
|
// Index list type
|
|
class IndexList;
|
|
|
|
// Class template that represents the feature set
|
|
template <typename... FeatureTypes>
|
|
class FeatureSet;
|
|
|
|
// Type of timing to perform all calculations instead of difference calculation
|
|
enum class TriggerEvent {
|
|
kNone, // Calculate the difference whenever possible
|
|
kFriendKingMoved, // calculate all when own ball moves
|
|
kEnemyKingMoved, // do all calculations when enemy balls move
|
|
kAnyKingMoved, // do all calculations if either ball moves
|
|
kAnyPieceMoved, // always do all calculations
|
|
};
|
|
|
|
// turn side or other side
|
|
enum class Side {
|
|
kFriend, // turn side
|
|
kEnemy, // opponent
|
|
};
|
|
|
|
} // namespace Features
|
|
|
|
} // namespace NNUE
|
|
|
|
} // namespace Eval
|
|
|
|
#endif // defined(EVAL_NNUE)
|
|
|
|
#endif
|