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