| Crates.io | factorial_engine |
| lib.rs | factorial_engine |
| version | 0.2.0 |
| created_at | 2025-08-15 17:52:17.106587+00 |
| updated_at | 2025-11-15 17:29:31.90808+00 |
| description | A library for producing factorials |
| homepage | |
| repository | https://github.com/Neil-Crago/factorial_engine |
| max_upload_size | |
| id | 1797225 |
| size | 19,516 |
A high-performance, zero-error Rust crate for computing the prime factorization of factorials (n!).
This engine is designed as a robust, backend computational tool. It uses Legendre's Formula to calculate prime exponents directly, completely avoiding the need to compute or store the immense values of n! itself. This ensures exceptional performance and prevents any possibility of integer overflow, even for very large n.
n!.Add this crate to your Cargo.toml:
[dependencies]
factorial_engine = "0.1.8" # Or the latest version
use factorial_engine::FactorialEngine;
use std::collections::HashMap;
fn main() {
// Initialize the engine. Can optionally pre-sieve primes.
let mut engine = FactorialEngine::new(Some(100));
let n = 50;
let factors: HashMap<u64, u64> = engine.get_factorial_factorization(n);
// The result is a map of {prime: exponent}.
println!("Prime factorization of {}!: {:?}", n, factors);
// Example: The exponent of 2 in 50! is 47.
assert_eq!(*factors.get(&2).unwrap(), 47);
}
This crate serves as a foundational block for applications in number theory, combinatorics, and computational mathematics. It is designed to be a reliable, "black-box" dependency that provides factorial factorization data with maximum efficiency and correctness.
Neil Crago — experimental mathematician
This crate is part of a collection of crates by the same author: These include:-