public void TestDivideUnsigned()
{
var fr = new RandomGenerator();
unchecked {
for (var i = 0; i < 1000; ++i) {
var x = (uint)fr.UniformInt(0x10000);
x |= ((uint)fr.UniformInt(0x10000)) << 16;
var y = (ushort)fr.UniformInt(0x10000);
var dx = (int)x;
var dy = (short)y;
if (dy == 0) {
continue;
}
var expected = (short)(x / y);
short actual = DivideUnsigned(dx, dy);
if (expected != actual) {
Assert.AreEqual(expected, actual, "Dividing " + x + " by " + y);
}
}
}
}