public void SmallestNormalizedNumberSqrt() { var number = BitConverter.Int32BitsToSingle(0x00800000); Assert.AreEqual(1.17549435E-38f, number); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(8.92591841E+18f, gama); }
public void SqrtOneSixteenthTest() { var number = 0.0625f; Assert.AreEqual("1.00000000 * 2^(-4)", Float754.FloatToString(number)); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(4.0f, gama, 0.13f); }
public void LargestDenormalizedNumberSqrt() { var number = BitConverter.Int32BitsToSingle(0x007FFFFF); Assert.AreEqual(1.17549421E-38f, number); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(8.92591896E+18f, gama); }
public void MiddleDenormalizedNumberSqrt() { var number = BitConverter.Int32BitsToSingle(0x00400000); Assert.AreEqual(5.87747175E-39f, number); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(1.09343078E+19f, gama); }
public void SmallestDenormalizedNumberSqrt() { var number = BitConverter.Int32BitsToSingle(0x00000001); Assert.AreEqual(1.40129846E-45f, number); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(1.32401508E+19f, gama); }
public void SqrtQuarterTest() { var number = 0.25f; Assert.AreEqual("1.00000000 * 2^(-2)", Float754.FloatToString(number)); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(2.0f, gama, 0.065f); }
public void SqrtHalfTest() { var number = 0.5f; Assert.AreEqual("1.00000000 * 2^(-1)", Float754.FloatToString(number)); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(1.414213562f, gama, 0.022f); }
public void NotANumberTest() { var number = float.NaN; Assert.IsTrue(float.IsNaN(number)); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(1.55459938E+19f, gama); }
public void PositiveInfinityTest() { var number = float.PositiveInfinity; Assert.IsTrue(float.IsInfinity(number)); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(5.24618333E-20f, gama); }
public void Sqrt256Test() { var number = 256.0f; Assert.AreEqual("1.00000000 * 2^(8)", Float754.FloatToString(number)); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(0.0625f, gama, 0.0025); }
public void LargestNormalizedNumberSqrt() { var number = BitConverter.Int32BitsToSingle(0x7F7FFFFF); Assert.AreEqual(3.40282347E+38f, number); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(5.24618366E-20f, gama); }
public void Sqrt16Test() { var number = 16.0f; Assert.AreEqual("1.00000000 * 2^(4)", Float754.FloatToString(number)); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(0.25f, gama, 0.012); }
public void Sqrt4Test() { var number = 4.0f; Assert.AreEqual("1.00000000 * 2^(2)", Float754.FloatToString(number)); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(0.5f, gama, 0.017f); }
public void Sqrt2Test() { var number = 2.0f; Assert.AreEqual("1.00000000 * 2^(1)", Float754.FloatToString(number)); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(0.7071067811f, gama, 0.011f); }
public void Sqrt1Test() { var number = 1.0f; Assert.AreEqual("1.00000000 * 2^(0)", Float754.FloatToString(number)); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(1.0f, gama, 0.0323f); }
public void ZeroSqrt() { var number = 0.0f; var bits = Float754.FloatToString(number); Assert.AreEqual("0.00000000 * 2^(-126)", bits); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual(1.32401508E+19f, gama); }
public void Test() { var number = 256.0f; Assert.AreEqual("1.00000000 * 2^(8)", Float754.FloatToString(number)); var gama = Float754.FastInvSqrtFloat(number); Assert.AreEqual("1.00000000 * 2^(-4)", Float754.FloatToString(0.0625f)); var y = BitConverter.Int32BitsToSingle(0x5f3759df); Assert.AreEqual("1.43243015 * 2^(63)", Float754.FloatToString(y)); Assert.AreEqual("1.93550003 * 2^(-5)", Float754.FloatToString(gama)); Assert.AreEqual(0.0625f, gama, 0.01); }