本文整理汇总了Java中java.math.BigInteger.nextProbablePrime方法的典型用法代码示例。如果您正苦于以下问题:Java BigInteger.nextProbablePrime方法的具体用法?Java BigInteger.nextProbablePrime怎么用?Java BigInteger.nextProbablePrime使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.math.BigInteger
的用法示例。
在下文中一共展示了BigInteger.nextProbablePrime方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: populatePrimesCache
import java.math.BigInteger; //导入方法依赖的package包/类
/**
* Add a local primes cache, to save some time for primes computation
*
* @param n the requested size of the list
* @throws NotEnoughPrimesInGroupException if the encryption group is too small to yield the requested number of $
* primes
*/
public synchronized void populatePrimesCache(int n) throws NotEnoughPrimesInGroupException {
Preconditions.checkState(cachedPrimes == null, "The primes cache can only be initialized" +
"once...");
BigInteger x = BigInteger.ONE;
ImmutableList.Builder<BigInteger> cacheBuilder = ImmutableList.builder();
int i = 0;
while (i < n) {
do {
// Performance improvement over +1 / +2 defined in algorithm
x = x.nextProbablePrime();
if (x.compareTo(encryptionGroup.getP()) >= 0)
throw new NotEnoughPrimesInGroupException(
String.format("Only found %d primes (%s) in group %s",
i,
Joiner.on(",").join(
cacheBuilder.build().stream().limit(4)
.collect(Collectors.toList())), encryptionGroup));
} while (!x.isProbablePrime(100) || !isMember(x));
cacheBuilder.add(x);
i++;
}
cachedPrimes = cacheBuilder.build();
}