public void BigPowTest()
        {
            var a  = BigInteger.Parse("132121923409128340918230491802394810");
            var aa = BigInteger.Pow(a, 50);

            var b  = new ALong("132121923409128340918230491802394810");
            var bb = AMath.Pow(b, 50);

            Assert.IsTrue(bb == aa.ToString());
        }
        public void Examples()
        {
            var a = new ALong(10);          // Initialize with 10
            var b = new ALong("10");        // Initialize with 10

            // Sum
            a += 20;                        // 30
            a += 20L;                       // 50
            a += "20";                      // 70
            a += new ALong("20");           // 90
            a -= b;                         // 80
            a += b;                         // 90
            a -= -10;                       // 100

            // Comparing
            var cmp = a < b;                    // false

            cmp = a <= b;                       // false
            cmp = a > b;                        // true
            cmp = a > 200;                      // false
            cmp = a >= "100";                   // true

            // Multiplication
            a *= 10;                        // 1000
            a *= b;                         // 10000
            a  = a * b;                     // 100000
            a  = a * "-10";                 // -1000000

            // Division
            a /= -1000;                                 // 1000
            a /= b;                                     // 100

            // Remainder
            var c = a % (b + 3);        // 9

            c = a % 13;                 // 9
            c = b % 5;                  // 0
            c = b % 3;                  // 1

            // Power
            c = AMath.Pow(a, b);        // 100^10 = 100000000000000000000

            // Base Conversion
            string d;

            d = "c367b3eb9df3bd5bdca9a3516af2d4da".FromArbitraryBase(16).ToArbitraryBase(62);   // "5WITyx9Hj07ZJvDzZcZHrI"
            d = d.FromArbitraryBase(62).ToArbitraryBase(16);                                    // "c367b3eb9df3bd5bdca9a3516af2d4da"
        }
 public void SmallPowTest()
 {
     Assert.AreEqual(AMath.Pow(10, 2), 100);
     Assert.AreEqual(AMath.Pow(2, 16), 65536d);
 }