BitField.BitFieldTest.Main C# (CSharp) Method

Main() private method

private Main ( ) : void
return void
		public static void Main()
		{
			Random rnd = new Random();

			// BinToBcd および BcdToBin のチェック
#if CHECK_BCD
			for(int i=1; i<100; ++i)
			{
				TestBcd(unchecked((ulong)rnd.Next(99999999)));
				TestBcd(unchecked((ulong)rnd.Next() + 99999999UL));
			}
			TestBcd(99999999UL);
			TestBcd(100000000UL);
#endif

			// MulDiv のチェック
#if CHECK_MUL_DIV
			for(int i=1; i<100; ++i)
			{
				TestMulDiv(unchecked((ulong)rnd.Next()), unchecked((ulong)rnd.Next()));
				TestMulDiv(unchecked((ulong)rnd.Next()), unchecked((ulong)(rnd.Next(0x10000) - 0x8000)));
				TestMulDiv(unchecked((ulong)(rnd.Next(0x10000) - 0x8000)), unchecked((ulong)rnd.Next()));
				TestMulDiv(unchecked((ulong)(rnd.Next(0x10000) - 0x8000)), unchecked((ulong)(rnd.Next(0x10000) - 0x8000)));
			}
#endif

			// Mul のチェック
#if CHECK_MUL
			for(int i=1; i<100; ++i)
			{
				TestMul(unchecked((ulong)rnd.Next()), unchecked((ulong)rnd.Next()));
				TestMul(unchecked((ulong)rnd.Next()), unchecked((ulong)(rnd.Next(0x10000) - 0x8000)));
				TestMul(unchecked((ulong)(rnd.Next(0x10000) - 0x8000)), unchecked((ulong)rnd.Next()));
				TestMul(unchecked((ulong)(rnd.Next(0x10000) - 0x8000)), unchecked((ulong)(rnd.Next(0x10000) - 0x8000)));
			}
#endif

			// Div のチェック
#if CHECK_DIV
			for(int i=1; i<100; ++i)
			{
				TestDiv(unchecked((ulong)rnd.Next()), unchecked((ulong)rnd.Next()));
				TestDiv(unchecked((ulong)rnd.Next()), unchecked((ulong)(rnd.Next(0x10000) - 0x8000)));
				TestDiv(unchecked((ulong)(rnd.Next(0x10000) - 0x8000)), unchecked((ulong)rnd.Next()));
				TestDiv(unchecked((ulong)(rnd.Next(0x10000) - 0x8000)), unchecked((ulong)(rnd.Next(0x10000) - 0x8000)));
			}
#endif
		}