Navigation Menu

Skip to content

Commit

Permalink
8215759: [test] java/math/BigInteger/ModPow.java can throw an Arithme…
Browse files Browse the repository at this point in the history
…ticException

Backport-of: fedf076
  • Loading branch information
GoeLin committed Jan 5, 2023
1 parent 13eadde commit 1713cf1
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions test/jdk/java/math/BigInteger/ModPow.java
@@ -1,5 +1,5 @@
/*
* Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand All @@ -22,18 +22,25 @@
*/

/* @test
* @bug 4181191
* @summary test BigInteger modPow method
* @bug 4181191 8215759
* @summary test BigInteger modPow method (use -Dseed=X to set PRNG seed)
* @library /test/lib
* @build jdk.test.lib.RandomFactory
* @run main ModPow
* @key randomness
*/
import java.math.BigInteger;
import java.util.Random;
import jdk.test.lib.RandomFactory;

public class ModPow {
public static void main(String[] args) {
Random rnd = new Random(1234);
Random rnd = RandomFactory.getRandom();

for (int i=0; i<2000; i++) {
BigInteger m = new BigInteger(800, rnd);
// Clamp random modulus to a positive value or modPow() will
// throw an ArithmeticException.
BigInteger m = new BigInteger(800, rnd).max(BigInteger.ONE);
BigInteger base = new BigInteger(16, rnd);
if (rnd.nextInt() % 1 == 0)
base = base.negate();
Expand Down

1 comment on commit 1713cf1

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.