- add(z[W][KNIGHT][1] ^ z[W][PAWN][1], W, &ScaleKNPK);
- add(z[B][KNIGHT][1] ^ z[B][PAWN][1], B, &ScaleKKNP);
-
- add(z[W][ROOK][1] ^ z[W][PAWN][1] ^ z[B][ROOK][1] , W, &ScaleKRPKR);
- add(z[W][ROOK][1] ^ z[B][ROOK][1] ^ z[B][PAWN][1] , B, &ScaleKRKRP);
- add(z[W][BISHOP][1] ^ z[W][PAWN][1] ^ z[B][BISHOP][1], W, &ScaleKBPKB);
- add(z[W][BISHOP][1] ^ z[B][BISHOP][1] ^ z[B][PAWN][1] , B, &ScaleKBKBP);
- add(z[W][BISHOP][1] ^ z[W][PAWN][1] ^ z[B][KNIGHT][1], W, &ScaleKBPKN);
- add(z[W][KNIGHT][1] ^ z[B][BISHOP][1] ^ z[B][PAWN][1] , B, &ScaleKNKBP);
-
- add(z[W][ROOK][1] ^ z[W][PAWN][1] ^ z[W][PAWN][2] ^ z[B][ROOK][1] ^ z[B][PAWN][1], W, &ScaleKRPPKRP);
- add(z[W][ROOK][1] ^ z[W][PAWN][1] ^ z[B][ROOK][1] ^ z[B][PAWN][1] ^ z[B][PAWN][2], B, &ScaleKRPKRPP);
-}
-
-
-/// Constructor for the MaterialInfoTable class
-
-MaterialInfoTable::MaterialInfoTable(unsigned int numOfEntries) {
-
- size = numOfEntries;
- entries = new MaterialInfo[size];
- if (!entries)
- {
- std::cerr << "Failed to allocate " << (numOfEntries * sizeof(MaterialInfo))
- << " bytes for material hash table." << std::endl;
- exit(EXIT_FAILURE);
- }
- clear();
-}
-
-
-/// Destructor for the MaterialInfoTable class
-
-MaterialInfoTable::~MaterialInfoTable() {
-
- delete [] entries;
-}
-
-
-/// MaterialInfoTable::clear() clears a material hash table by setting
-/// all entries to 0.
-
-void MaterialInfoTable::clear() {
-
- memset(entries, 0, size * sizeof(MaterialInfo));
-}