75BIO4XKTLVWVHPXEJ6V45DEP7CFWFFRFF4NAOPQN2MESJG6HUWQC
R5F5KMWWZ4VS67CSIWRNRM4LNPPXVXSQZLHEZMT6XZODV4AK2MBQC
XRCSCQWQKVYASIMAJO7JVUJXHXE44FZROCJPBW2BR7EE4RPEIBKAC
RNEXG5IFDKMHSUR6RMNTI3Y32ORLVMZ6UJYKHLV2XBMT2QONBTVQC
NCFUC2F34HIV6BZYYMMHIGQOD6G6BUJZYY4RINPCAKGCSVCC46DAC
WAJ2J7G4QZE4LLGGZNIQ3ZIBCR3CSFOH3V2NIK2JQPALFHARRNMAC
ARKJ6V5BZRW2R5WJHAFDCO5LEZDS75BFPSXWNKTQK4BYT4DCQGHQC
TB4YBE4CMWCLSKJ43QF6IU5HVYUUO33BLXVG7XDRLJS3IFIBQLYAC
FRUDIRWXGFOZERET3DNUNAZ5HSA3G32JZX6WMIXNGZOACTTCRIQAC
}
// TO BE REMOVED BELOW THIS LINE...
// ---------------------------------------------------- //
// clear helper data for search
{
score.killer_moves = [_][MAX_PLY]BitMove{
[_]BitMove{@bitCast(BitMove, @as(BitMoveType, 0))} ** MAX_PLY,
} ** 2;
score.history_moves = [_][64]usize{[_]usize{0} ** 64} ** 12;
pv_length = [_]usize{0} ** MAX_PLY;
pv_table = [_][MAX_PLY]BitMove{
[_]BitMove{@bitCast(BitMove, @as(BitMoveType, 0))} ** MAX_PLY,
} ** MAX_PLY;
nodes = 0;
pub fn Move(gs: *const GameState, move: BitMove) isize {
pub fn moves(gs: *const GameState, ml: *MoveList) void {
for (ml.slice()) |*mp| {
mp.score = scoreMove(gs, mp.move);
}
}
fn scoreMove(gs: *const GameState, move: BitMove) isize {