#include "zobrist.h"

#include "prng.h"

void initZobrist()
{
	PRNG rng;
	zobristTurn[0] = 0;
	zobristTurn[1] = rng.rand64();
	int i;
	for (i=0; i<256*64; i++)
	{
		zobristKeys[i] = rng.rand64();
	}
	for (i=0; i<64; i++)
	{
		int r = i/8;
		zobristEP[i] = (r==3 || r==4) ? rng.rand64() : 0;
	}
	int j;
	for (i=0; i<2; i++)
	{
		for (j=0; j<0x89; j++)
		{
			if ( j == 0 )
				zobristCast[i][j] = 0;
			else
				zobristCast[i][j] = rng.rand64();
		}
	}
}

u64 zobristTurn[2];

u64 zobristKeys[256*64];

// enpassant hashing
u64 zobristEP[64];

u64 zobristCast[2][0x89];
