Test if a number is a prime using Strengthening the Baillie-PSW primality test.
npm install s-bpswnpm package for probabilistic primality test and probable prime generation based on Strengthening the Baillie-PSW primality test[^1].
[^1]:
Robert Baillie, Andrew Fiori, and Samuel S Wagstaff Jr,
Strengthening the Baillie-PSW primality test,
Mathematics of Computation, Volume 90, Number 330,
July 2021, pp. 1931--1955.
Also available at https://arxiv.org/abs/2006.14425 .
``bash`
npm i s-bpsw
`javascript`
import { isProbablePrime, probablePrime, nextProbablePrime } from 's-bpsw'
// or import all of the module's function
// import * as sbpsw from 's-bpsw'
// usage:
// console.log(sbpsw.isProbablePrime(17)) // True
#### isProbablePrime ( value )
`javascript`
console.log(isProbablePrime(2324632861)) // True
console.log(isProbablePrime(3616199781)) // False
#### probablePrime ( bitLength )
Randomly generates a probable prime number of bitLength.
#### nextProbablePrime ( value )
Generates the smallest probable prime number greater than or equal to value.
#### nextProbablePrimeBit ( bitLength )
Generates the smallest prime number (next probable prime number) greater than or equal to a random number of bitLength.
#### rand ( bitLength )
Generates a random number of bitLength.
`javascript
const random = rand(32) // 2881299645
console.log(isProbablePrime(random)) // False
prime = nextProbablePrime(random) // 2881299647
console.log(isProbablePrime(prime)) // True
`
#### safePrimeRandom ( value )
Generates a probable safe prime from the smallest probable prime number greater than or equal to value.
#### safePrimeBit ( bitLength )
Generates a safe prime from a random number of bitLength.
See LICENSE.
- Nanako OKADA
- Haruki MORI (@Harxxki)
- Miwako MISHIMA (@m-miwako)