// Number of output dimensions for one side
static constexpr IndexType HalfDimensions = TransformedFeatureDimensions;
- static constexpr int LazyThreshold = 1400;
-
#ifdef VECTOR
static constexpr IndexType TileHeight = NumRegs * sizeof(vec_t) / 2;
static constexpr IndexType PsqtTileHeight = NumPsqtRegs * sizeof(psqt_vec_t) / 4;
}
// Convert input features
- std::pair<std::int32_t, bool> transform(const Position& pos, OutputType* output, int bucket) const {
+ std::int32_t transform(const Position& pos, OutputType* output, int bucket) const {
update_accumulator(pos, WHITE);
update_accumulator(pos, BLACK);
- psqtAccumulation[static_cast<int>(perspectives[1])][bucket]
) / 2;
- if (abs(psqt) > LazyThreshold * OutputScale)
- return { psqt, true };
-
#if defined(USE_AVX512)
constexpr IndexType NumChunks = HalfDimensions / (SimdWidth * 2);
static_assert(HalfDimensions % (SimdWidth * 2) == 0);
_mm_empty();
#endif
- return { psqt, false };
+ return psqt;
}
private: