mirror of
https://github.com/sockspls/badfish
synced 2025-04-29 16:23:09 +00:00
Redefine MoveStack comparison as the natural one
Define symbol '<' to mean 'minor of', as it should be. Its meaning was reversed to be used with std::sort() that sorts in ascending order while we want a descending order. But now that we use our own sorting code we don't need this trick anymore. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
5b08494312
commit
6235904898
1 changed files with 4 additions and 5 deletions
|
@ -64,8 +64,7 @@ struct MoveStack {
|
||||||
int score;
|
int score;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Note that operator< is set up such that sorting will be in descending order
|
inline bool operator<(const MoveStack& f, const MoveStack& s) { return f.score < s.score; }
|
||||||
inline bool operator<(const MoveStack& f, const MoveStack& s) { return s.score < f.score; }
|
|
||||||
|
|
||||||
// An helper insertion sort implementation
|
// An helper insertion sort implementation
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
@ -79,10 +78,10 @@ inline void insertion_sort(T* firstMove, T* lastMove)
|
||||||
{
|
{
|
||||||
p = d = cur;
|
p = d = cur;
|
||||||
value = *p--;
|
value = *p--;
|
||||||
if (value < *p)
|
if (*p < value)
|
||||||
{
|
{
|
||||||
do *d = *p;
|
do *d = *p;
|
||||||
while (--d != firstMove && value < *--p);
|
while (--d != firstMove && *--p < value);
|
||||||
*d = value;
|
*d = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -132,7 +131,7 @@ inline T pick_best(T* curMove, T* lastMove)
|
||||||
bestMove = *curMove;
|
bestMove = *curMove;
|
||||||
while (++curMove != lastMove)
|
while (++curMove != lastMove)
|
||||||
{
|
{
|
||||||
if (*curMove < bestMove)
|
if (bestMove < *curMove)
|
||||||
{
|
{
|
||||||
tmp = *curMove;
|
tmp = *curMove;
|
||||||
*curMove = bestMove;
|
*curMove = bestMove;
|
||||||
|
|
Loading…
Add table
Reference in a new issue