21 static CArray<int, PTYPE_SIZE>
table;
25 int eval(
const NumEffectState &state,
26 PieceMask black_mask, PieceMask white_mask)
const;
34 return std::abs(piece.
square().
x() - king.
x()) * 17 +
36 (piece.
square().
y() - king.
y())) + 8;
38 static CArray2d<MultiInt, PTYPE_SIZE, 17 * 9>
table;
44 PieceMask black_mask, PieceMask white_mask);
52 template <Player Defense>
53 static MultiInt evalOne(
const NumEffectState &state);
54 template <Player Defense>
60 (state.hasEffectByPtypeStrict<
PAWN>(
alt(Defense), up)
61 || (!state.isPawnMaskSet(
alt(Defense),
63 && state.pieceAt(up).isEmpty())));
66 static CArray<MultiInt, 80>
table;
102 template <Player King>
103 static MultiInt evalOne(
const NumEffectState &state);
104 static CArray<MultiInt, ONE_DIM>
table;
109 #endif // EVAL_ML_PIN_H