public void FloatConstructorFromLongNegative() { var n = Platform.Si(0x3123456789123456L, 0x49384756); using (var a = new HugeFloat(-n)) { Assert.AreEqual(128UL, a._allocatedPrecision); Assert.AreEqual(128UL, a.Precision); Assert.AreEqual(1, a.Exponent()); Assert.AreEqual("-0." + n.ToString("X") + "@" + MpirSettings.BITS_PER_LIMB / 4, a.ToString(16, false, true)); } }
public void FloatConstructorFromULong() { var n = Platform.Ui(ulong.MaxValue, uint.MaxValue); using (var a = new HugeFloat(n)) { Assert.AreEqual(128UL, a._allocatedPrecision); Assert.AreEqual(128UL, a.Precision); Assert.AreEqual(1, a.Exponent()); Assert.AreEqual("0." + n.ToString("X") + "@" + MpirSettings.BITS_PER_LIMB / 4, a.ToString(16, false, true)); } }
public void FloatDefaultConstructor() { using (var a = new HugeFloat()) { Assert.AreEqual(0, a.NumberOfLimbsUsed()); Assert.AreEqual(128UL, a.Precision); Assert.AreEqual(128UL, a._allocatedPrecision); Assert.AreNotEqual(IntPtr.Zero, a.Limbs()); Assert.AreEqual(0, a.Exponent()); Assert.AreEqual("0", a.ToString()); } }