nhash.h

来自「realization of hash function」· C头文件 代码 · 共 50 行

H
50
字号
class IntChar
{
public:
	IntChar();
	IntChar(int x);
	IntChar(char y[4]);

	union
	{
		int a;
		char b[4];
	};
};

class bit128
{
public:
	bit128();
	bit128(int x[4]);

	bit128 operator ^(const bit128& rhs) const;
	bit128& operator ^=(const bit128& rhs);
	bit128& SwapLeftRight();

	union
	{
		int a[4];
		char b[16];
	};
};

class NHash
{
public:
	NHash(int n);
	void do_it(istream& inputStream,ostream& outputStream);

private:
	char CycleShift(unsigned char a);
	char S0(unsigned char a, unsigned char b);
	char S1(unsigned char a, unsigned char b);
	int f(int P, int x);
	bit128 PS(bit128 X, bit128 P);
	void g(bit128 M);

	bit128 v;
	bit128 H;
	const int N;
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?