Пример #1
0
 @Test(timeout = 5000L)
 public void powIntIntExact() {
   BigInteger mod = BigUtils.BI_MAX_INT.add(BigInteger.ONE).shiftLeft(1);
   for (int i : INTS)
     for (int j : INTS)
       if (j >= 0) {
         BigInteger expected = BigInteger.valueOf(i).modPow(BigInteger.valueOf(j), mod);
         assertEquals(i + " ^ " + j, expected.intValue(), pow(i, j));
       }
 }
Пример #2
0
 @Test(timeout = 5000L)
 public void powIntIntRandom() {
   BigInteger mod = BigUtils.BI_MAX_INT.add(BigInteger.ONE).shiftLeft(1);
   for (int i = 0; i < 100; i++) {
     int base = RANDOM.nextInt();
     for (int j = 0; j < 100; j++) {
       int power = RANDOM.nextInt(Integer.MAX_VALUE);
       BigInteger expected = BigInteger.valueOf(base).modPow(BigInteger.valueOf(power), mod);
       assertEquals(i + " ^ " + j, expected.intValue(), pow(base, power));
     }
   }
 }