min() public method

public min ( BigInteger bi ) : BigInteger
bi BigInteger
return BigInteger
Ejemplo n.º 1
0
        public void TestMin()
        {
            BigInteger bi1, bi2;
            int        val1, val2;
            Random     rand = new Random();

            for (int i = 0; i < 100; i++)
            {
                val1 = rand.Next();
                val2 = rand.Next();
                bi1  = new BigInteger(val1);
                bi2  = new BigInteger(val2);

                Assert.AreEqual(Math.Min(val1, val2), bi1.min(bi2));
                Assert.AreEqual(bi1.min(bi2), bi2.min(bi1));
                Assert.AreEqual(bi1, bi1.min(bi1));
            }

            bi1 = new BigInteger("49823798573298479823749823798472398479238479823749823749823794837298472398469238649836294862398462398649823649823649823649823694", 10);
            bi2 = new BigInteger("-37209847385984792370497230948093284092384092380958058094809238409328049238094237094723094723984792384792387492379487239847239847923847923879847923847239847", 10);
            Assert.AreEqual(bi2, bi1.min(bi2));
            Assert.AreEqual(bi2, bi2.min(bi1));

            bi2 = new BigInteger();
            Assert.AreEqual(bi2, bi1.min(bi2));

            bi2 = new BigInteger("38274939234793749237498237492374982379872394798237", 10);
            Assert.AreEqual(bi2, bi2.min(bi1));

            bi2 = new BigInteger("49823798573298479823749823798472408479238479823749823749823794837298472398469238649836294862398462398649823649823649823649823694", 10);
            Assert.AreEqual(bi1, bi1.min(bi2));

            bi1 = new BigInteger("-9852375989470234802398402398409238049238094723094709234702387498237498623948623984623984623864237642376482376492386479238749823749237498237498237", 10);
            Assert.AreEqual(bi1, bi1.min(0));

            bi2 = new BigInteger("287498237498623846236236826386276327638276327632763276382763872688947329847923847982374982379482379847239847392847982374982374982374982374982374982379482379482379487239847239847", 10);
            Assert.AreEqual(bi1, bi2.min(bi1));

            bi2 = new BigInteger("-8979479943434898397", 10);
            Assert.AreEqual(bi1, bi1.min(bi2));

            bi2 = new BigInteger("-9852375989470234802399402398409238049238094723094709234702387498237498623948623984623984623864237642376482376492386479238749823749237498237498237", 10);
            Assert.AreEqual(bi2, bi2.min(bi1));
        }
Ejemplo n.º 2
0
        string B62(string sVar)
        {
            char[] v = ("0123456789" +
                        "abcdefghijklmnopqrstuvwxyz" +
                        "ABCDEFGHIJKLMNOPQRSTUVWXYZ")
                       .ToCharArray();
            BigInteger bi   = new BigInteger(sVar, 16);
            BigInteger mod  = new BigInteger(62);
            string     sRet = "";

            while (bi.min(1).ToString() == "1")
            {
                int r = (bi % 62).IntValue();
                sRet = v[r] + sRet;
                bi   = bi / 62;
            }
            return(sRet);
        }