mirror of
https://github.com/josdejong/mathjs.git
synced 2025-12-08 19:46:04 +00:00
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
const assert = require('assert')
|
|
const { isPrime } = require('../../')
|
|
const { Suite } = require('benchmark')
|
|
|
|
const primes = [2147483647, 87178291199, 4398042316799]
|
|
const notPrimes = [2199023255551, 8796093022207, 140737488355327]
|
|
const carmichaels = [41041, 825265, 321197185] // more challenging numbers
|
|
|
|
// validate that the function does what we think it does
|
|
const primesResults = primes.map(num => isPrime(num))
|
|
const notPrimesResults = notPrimes.map(num => isPrime(num))
|
|
const carmichaelsResults = carmichaels.map(num => isPrime(num))
|
|
assert(primesResults.every(result => result === true))
|
|
assert(notPrimesResults.every(result => result === false))
|
|
assert(carmichaelsResults.every(result => result === false))
|
|
|
|
new Suite()
|
|
.add('primes', () => {
|
|
primes.forEach(num => isPrime(num))
|
|
})
|
|
.add('not primes', () => {
|
|
notPrimes.forEach(num => isPrime(num))
|
|
})
|
|
.add('carmichaels', () => {
|
|
carmichaels.forEach(num => isPrime(num))
|
|
})
|
|
.on('cycle', function (event) {
|
|
console.log(String(event.target))
|
|
})
|
|
.on('complete', function () {
|
|
})
|
|
.run()
|