Example #1
0
U64 hash_material_key(const board_t *board) {

	ASSERT(board != nullptr);

	// init
	U64 key = 0;

	// counters
	for (U8 piece_12 = 0; piece_12 < 12; ++piece_12) {
		const S32 count = board->number[piece_12];
		key ^= hash_counter_key(piece_12, count);
	}

	return key;
}
Example #2
0
uint64 hash_material_key(const board_t * board) {

   uint64 key;
   int piece_12, count;

   ASSERT(board!=NULL);

   // init

   key = 0;

   // counters

   for (piece_12 = 0; piece_12 < 12; piece_12++) {
      count = board->number[piece_12];
      key ^= hash_counter_key(piece_12,count);
   }

   return key;
}
Example #3
0
uint64 hash_material_key( board_t *board )
{

	uint64 key;
	int piece_16, count;

	ASSERT(board != NULL);

	// init

	key = 0;

	// counters

	for ( piece_16 = 0; piece_16 < 16; piece_16++ )
	{
		count = board->number[piece_16];
		key ^= hash_counter_key(piece_16, count);
	}

	return key;
}