mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 16:53:09 +00:00
Fun with lambdas
Use lambda functions instead of has_positive_value() and toggle_case() No functional change.
This commit is contained in:
parent
f54c44e6be
commit
2ca2c3f35b
3 changed files with 4 additions and 11 deletions
|
@ -49,10 +49,6 @@ namespace {
|
|||
}
|
||||
}
|
||||
|
||||
// Unary predicate used by std::partition to split positive values from remaining
|
||||
// ones so as to sort the two sets separately, with the second sort delayed.
|
||||
inline bool has_positive_value(const ExtMove& move) { return move.value > VALUE_ZERO; }
|
||||
|
||||
// Picks the best move in the range (begin, end) and moves it to the front.
|
||||
// It's faster than sorting all the moves in advance when there are few
|
||||
// moves e.g. possible captures.
|
||||
|
@ -247,7 +243,7 @@ void MovePicker::generate_next_stage() {
|
|||
case QUIETS_1_S1:
|
||||
endQuiets = end = generate<QUIETS>(pos, moves);
|
||||
score<QUIETS>();
|
||||
end = std::partition(cur, end, has_positive_value);
|
||||
end = std::partition(cur, end, [](const ExtMove& m) { return m.value > VALUE_ZERO; });
|
||||
insertion_sort(cur, end);
|
||||
return;
|
||||
|
||||
|
|
|
@ -1147,10 +1147,6 @@ bool Position::is_draw() const {
|
|||
/// Position::flip() flips position with the white and black sides reversed. This
|
||||
/// is only useful for debugging e.g. for finding evaluation symmetry bugs.
|
||||
|
||||
static char toggle_case(char c) {
|
||||
return char(islower(c) ? toupper(c) : tolower(c));
|
||||
}
|
||||
|
||||
void Position::flip() {
|
||||
|
||||
string f, token;
|
||||
|
@ -1168,7 +1164,8 @@ void Position::flip() {
|
|||
ss >> token; // Castling availability
|
||||
f += token + " ";
|
||||
|
||||
std::transform(f.begin(), f.end(), f.begin(), toggle_case);
|
||||
std::transform(f.begin(), f.end(), f.begin(),
|
||||
[](char c) { return char(islower(c) ? toupper(c) : tolower(c)); });
|
||||
|
||||
ss >> token; // En passant square
|
||||
f += (token == "-" ? token : token.replace(1, 1, token[1] == '3' ? "6" : "3"));
|
||||
|
|
|
@ -81,7 +81,7 @@ void init(OptionsMap& o) {
|
|||
std::ostream& operator<<(std::ostream& os, const OptionsMap& om) {
|
||||
|
||||
for (size_t idx = 0; idx < om.size(); ++idx)
|
||||
for (auto it : om)
|
||||
for (auto& it : om)
|
||||
if (it.second.idx == idx)
|
||||
{
|
||||
const Option& o = it.second;
|
||||
|
|
Loading…
Add table
Reference in a new issue