smcprime
v0.1.0
Published
Ultra-fast primality testing with Montgomery arithmetic (32-bit and 64-bit)
Maintainers
Readme
smcprime
Ultra-fast primality testing with Montgomery arithmetic (32-bit and 64-bit).
Features
- Fast: Montgomery arithmetic for 64-bit, native math for 32-bit
- Deterministic: No probabilistic results - always correct
- TypeScript: Full type definitions included
- Zero dependencies
Installation
npm install smcprimeUsage
import { isPrime, isPrime32, isPrime64, nextPrime, prevPrime } from 'smcprime';
// Basic primality testing
console.log(isPrime(17)); // true
console.log(isPrime(18)); // false
// Find next/previous primes
console.log(nextPrime(100)); // 101n
console.log(prevPrime(100)); // 97n
// Explicit 32-bit or 64-bit
console.log(isPrime32(104729)); // true
console.log(isPrime64(1000000007n)); // trueAPI
Primality Testing
isPrime(n: number | bigint): boolean- Test if n is prime (64-bit)isPrime32(n: number | bigint): boolean- Test if n is prime (32-bit)isPrime64(n: number | bigint): boolean- Test if n is prime (64-bit)
Prime Navigation
nextPrime(n: number | bigint): bigint- Find smallest prime >= nprevPrime(n: number | bigint): bigint- Find largest prime <= nnextPrime32(n: number | bigint): bigint- 32-bit versionprevPrime32(n: number | bigint): bigint- 32-bit versionnextPrime64(n: number | bigint): bigint- 64-bit versionprevPrime64(n: number | bigint): bigint- 64-bit version
Requirements
- ES2020+ (for BigInt support)
- Node.js 12+ or modern browsers
License
MIT License - Copyright 2025 ScaleCode Solutions
