You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.5 KiB
57 lines
1.5 KiB
#include "test_functions.h"
|
|
#include <bitwise.h>
|
|
#include <unordered_set>
|
|
#include <algorithm>
|
|
|
|
std::unordered_set<int> get_to_squares(std::unordered_set<int> moves){
|
|
std::unordered_set<int> transformed;
|
|
for (int mv : moves){
|
|
transformed.insert(get_to_sq(mv));
|
|
}
|
|
return transformed;
|
|
}
|
|
std::unordered_set<int> get_from_squared(std::unordered_set<int> moves){
|
|
std::unordered_set<int> transformed;
|
|
for (int mv : moves){
|
|
transformed.insert(get_from_sq(mv));
|
|
}
|
|
return transformed;
|
|
}
|
|
std::unordered_set<int> get_captured_pieces(std::unordered_set<int> moves){
|
|
std::unordered_set<int> transformed;
|
|
for (int mv : moves){
|
|
transformed.insert(get_captured_pc(mv));
|
|
}
|
|
return transformed;
|
|
}
|
|
std::unordered_set<int> get_promoted_pieces(std::unordered_set<int> moves){
|
|
std::unordered_set<int> transformed;
|
|
for (int mv : moves){
|
|
transformed.insert(get_promoted_to_pc(mv));
|
|
}
|
|
return transformed;
|
|
}
|
|
std::unordered_set<int> get_en_passant_flags(std::unordered_set<int> moves){
|
|
std::unordered_set<int> transformed;
|
|
for (int mv : moves){
|
|
transformed.insert(get_en_pass_flag(mv));
|
|
}
|
|
return transformed;
|
|
}
|
|
std::unordered_set<int> get_pawn_start_flags(std::unordered_set<int> moves){
|
|
std::unordered_set<int> transformed;
|
|
for (int mv : moves){
|
|
std::cout << "MOVE: \n";
|
|
transformed.insert(get_pawn_st_flag(mv));
|
|
}
|
|
return transformed;
|
|
}
|
|
std::unordered_set<int> get_castle_flags(std::unordered_set<int> moves){
|
|
std::unordered_set<int> transformed;
|
|
for (int mv : moves){
|
|
transformed.insert(get_castle_flag(mv));
|
|
}
|
|
return transformed;
|
|
}
|
|
|