The n in my case refers to squares (although it is constant in my program) in that mobility calculation takes a set amount of time no matter what, unless the number of squares is different. To show this here is some code:
- Code: Select all
scoretemp = 0;
for (x = 0; x < 64; x++)
scoretemp += mobtable[x][side][board->attacks[side][x]];
Yes, it is a large table, but at least it's smaller than my SEE table (and the same size as two of my four rotated bitboard lookup tables).
For my move sort, I use selection sort (I think most people use it), because usually only one or two moves are needed to be picked off the list before a cutoff happens (or it is a PV or ALL node, so it doesn't matter, ordering could be skipped but it is hard to determine this).
Regards,
Zach