9 #ifdef OSL_LONG_HASH_KEY
21 for (
size_t i=0; i<board_key.
size(); ++i)
24 << std::setfill(
'0') << std::setbase(16) << std::setw(8)
27 return os <<
':' << std::setbase(10);
33 for (
size_t i=0; i<
size(); ++i) {
40 dumpContents(std::cerr);
43 # ifdef OSL_LONG_HASH_KEY
46 std::istringstream is(str);
47 return readFromDump(is);
56 for (
size_t i=0; i<key.size(); ++i) {
66 for(
int num=0;num<40;num++){
67 Piece p=state.pieceOf(num);
68 if(state.usedMask().test(num))
77 return newMakeMove(move);
134 #ifndef OSL_LONG_HASH_KEY
137 const CArray2d<hash::HashKey128Layout,Square::SIZE,PTYPEO_SIZE>
146 #ifdef OSL_LONG_HASH_KEY
159 key[i][j].setPieceStand(stand);
164 key[i][j].setRandom();
168 # ifdef OSL_DUMP_HASH_KEY
169 std::ofstream os(
"hash.txt");
171 os <<
"// " << i <<
"\n{\n";
174 << key[i][j].board64 <<
"ull, " << key[i][j].board32 <<
"u, "
175 << key[i][j].piece_stand.getFlags() <<
"u),\n";