mirror of
https://github.com/sockspls/badfish
synced 2025-07-11 19:49:14 +00:00
47 lines
1.1 KiB
C++
47 lines
1.1 KiB
C++
// NNUE評価関数の入力特徴量の共通ヘッダ
|
|
|
|
#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 {
|
|
|
|
// インデックスリストの型
|
|
class IndexList;
|
|
|
|
// 特徴量セットを表すクラステンプレート
|
|
template <typename... FeatureTypes>
|
|
class FeatureSet;
|
|
|
|
// 差分計算の代わりに全計算を行うタイミングの種類
|
|
enum class TriggerEvent {
|
|
kNone, // 可能な場合は常に差分計算する
|
|
kFriendKingMoved, // 自玉が移動した場合に全計算する
|
|
kEnemyKingMoved, // 敵玉が移動した場合に全計算する
|
|
kAnyKingMoved, // どちらかの玉が移動した場合に全計算する
|
|
kAnyPieceMoved, // 常に全計算する
|
|
};
|
|
|
|
// 手番側or相手側
|
|
enum class Side {
|
|
kFriend, // 手番側
|
|
kEnemy, // 相手側
|
|
};
|
|
|
|
} // namespace Features
|
|
|
|
} // namespace NNUE
|
|
|
|
} // namespace Eval
|
|
|
|
#endif // defined(EVAL_NNUE)
|
|
|
|
#endif
|