3.0.0 • Published 5 years ago

primeval v3.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

primeval Build Status

A tiny (128B) utility to check if a value is a prime number

Based on the "multiples of six" approach – check this out for a quick explanation.

As of 3.0.0, primeval is extremely quick and actually usable within application settings.


Priors


This module exposes three module definitions:

  • ES Module: dist/primeval.mjs
  • CommonJS: dist/primeval.js
  • UMD: dist/primeval.min.js

Install

$ npm install --save primeval

Usage

import primeval from 'primeval';

primeval(2);   //=> true
primeval(3);   //=> true
primeval(17);  //=> true
primeval(29);  //=> true
primeval(25);  //=> false
primeval(512); //=> false
primeval(12);  //=> false
primeval(1);   //=> false

primeval("foobar");   //=> false
primeval(null);       //=> false
primeval(NaN);        //=> false

API

primeval(num)

Returns: Boolean

num

Type: Number

The number that you want to check.

Note: Any non-Number type will always return a false output.

Benchmarks

The arguiot case is the code provided in PR #2 by @arguiot :bowing_man:

Purposefully excluding primeval@2.0.0 as it's incredibly slow and not meant for actual use.

# Node v10.13.0

# Primes
arguiot   x    875,571 ops/sec ±0.67% (91 runs sampled)
primeval  x  4,589,884 ops/sec ±0.20% (93 runs sampled)

# Not Primes
arguiot   x  18,429,333 ops/sec ±0.24% (95 runs sampled)
primeval  x  45,944,091 ops/sec ±0.18% (96 runs sampled)

# Carmichael Numbers
arguiot   x 10,129,774 ops/sec ±0.41% (97 runs sampled)
primeval  x 35,983,866 ops/sec ±0.24% (98 runs sampled)

License

MIT © Luke Edwards