Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        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));
            }
        }
Ejemplo n.º 3
0
 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());
     }
 }