16 void show(std::ostream& os,
int name_width,
const range_t& range,
17 const std::vector<double>& weights)
const
19 showTopN(os, name_width, range, weights, 3);
26 const int progress8 = env.
progress.value()/2;
27 return index*8 + progress8;
35 void show(std::ostream& os,
int name_width,
const range_t& range,
36 const std::vector<double>& weights)
const
38 showTopN(os, name_width, range, weights, 3);
44 const int progress8 = env.
progress.value()/2;
48 return index*8 + progress8;
57 for (
int p=0; p<8; ++p)
60 void show(std::ostream& os,
int name_width,
const range_t& range,
61 const std::vector<double>& weights)
const
63 showAll(os, name_width, range, weights);
67 if (! (*
this)[0].match(state, move, env))
69 const int progress8 = env.
progress.value()/2;
78 void show(std::ostream& os,
int name_width,
const range_t& range,
79 const std::vector<double>& weights)
const
81 showTopN(os, name_width, range, weights, 3);
99 const int progress8 = env.
progress.value()/2;
100 return index*8 + progress8;
109 const std::vector<double>& weights)
const
111 showAll(os, name_width, range, weights);
119 assert((*
this)[index].match(state, move, env));
PtypeO ptypeO() const
移動後のPtype, i.e., 成る手だった場合成った後
bool isNormal() const
INVALID でも PASS でもない.
Ptype oldPtype() const
移動前のPtype, i.e., 成る手だった場合成る前
const Square from() const
const Piece findCheapAttack(Player P, Square square) const
bool hasEffectIf(PtypeO ptypeo, Square attacker, Square target) const
attackerにptypeoの駒がいると仮定した場合にtargetに利きがあるかどうか を stateをupdateしないで確かめる.
bool inCheck(Player P) const
Pの玉が王手状態
const Move lastMove(size_t last=1) const
mutually exclusive set of features
void showAll(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights) const
void showTopN(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights, int n) const
void show(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights) const
int findMatch(const NumEffectState &state, Move move, const RatingEnv &env) const
bool effectiveInCheck() const
std::pair< int, int > range_t
constexpr Player alt(Player player)
static int index(const NumEffectState &state, Square position, const RatingEnv &env)
int findMatch(const NumEffectState &state, Move move, const RatingEnv &env) const
bool effectiveInCheck() const
void show(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights) const
void show(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights) const
bool effectiveInCheck() const
int findMatch(const NumEffectState &state, Move move, const RatingEnv &env) const
void show(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights) const
bool effectiveInCheck() const
int findMatch(const NumEffectState &state, Move move, const RatingEnv &env) const