mirror of
https://github.com/sockspls/badfish
synced 2025-05-03 18:19:35 +00:00
30 lines
661 B
C++
30 lines
661 B
C++
// NNUE評価関数の差分計算用のクラス
|
|
|
|
#ifndef _NNUE_ACCUMULATOR_H_
|
|
#define _NNUE_ACCUMULATOR_H_
|
|
|
|
#if defined(EVAL_NNUE)
|
|
|
|
#include "nnue_architecture.h"
|
|
|
|
namespace Eval {
|
|
|
|
namespace NNUE {
|
|
|
|
// 入力特徴量をアフィン変換した結果を保持するクラス
|
|
// 最終的な出力である評価値も一緒に持たせておく
|
|
struct alignas(32) Accumulator {
|
|
std::int16_t
|
|
accumulation[2][kRefreshTriggers.size()][kTransformedFeatureDimensions];
|
|
Value score = VALUE_ZERO;
|
|
bool computed_accumulation = false;
|
|
bool computed_score = false;
|
|
};
|
|
|
|
} // namespace NNUE
|
|
|
|
} // namespace Eval
|
|
|
|
#endif // defined(EVAL_NNUE)
|
|
|
|
#endif
|