# Prime Analysis Tool # NOTE: This README conatins documentation for the binary crate. To see the library docs, please visit [this link](https://docs.rs/large-primes). [![Crates.io](https://img.shields.io/crates/v/large-primes.svg)](https://crates.io/crates/large-primes) [![Documentation](https://docs.rs/large-primes/badge.svg)](https://docs.rs/large-primes/) [![Build Status](https://github.com/shashankp28/primes/actions/workflows/rust.yml/badge.svg)](https://github.com/shashankp28/primes/actions/workflows/rust.yml) [![License](https://img.shields.io/badge/license-MIT-blue.svg)] Prime Analysis Tool is a versatile command-line utility written in Rust, designed to perform various mathematical operations and analyses on prime numbers and large integers. This tool offers a range of functionalities, including standard prime checks, advanced primality tests, number generation, exponentiation, and the Lucas-Lehmer test for Mersenne primes. ## Features - **Standard**: Check if a number is prime using basic methods. - **Fermat**: Perform the Fermat primality test. - **Miller-Rabin**: Execute the Miller-Rabin primality test. - **Generate**: Generate prime numbers up to a specified maximum. - **Power**: Raise a number to a specified power. - **Lucas-Lehmer**: Conduct the Lucas-Lehmer test for Mersenne primes. ## Installation To install Prime Analysis Tool, ensure you have Rust and Cargo installed on your system. Follow these steps: 1. Clone the repository: ``` git clone https://github.com/shashankp28/primes.git ``` 2. Navigate to the project directory: ``` cd primes ``` 3. Build the project: ``` cargo build --release ``` ## Usage To use Prime Analysis Tool, run the compiled binary with the required arguments. The general syntax is: ``` [OPTIONS] --action [--target ] [--power ] [--maximum ] [--mersenne_exp ] ``` ### Options - `-a`, `--action `: Specify the action to perform. Actions include `standard`, `fermat`, `miller-rabin`, `generate`, `power`, and `lucas-lehmer`. - `-t`, `--target `: The target number for prime checks or exponentiation. - `-p`, `--power `: The power to raise the target number to (used with `power` action). - `-m`, `--maximum `: Specify the upper limit for prime number generation (used with `generate` action). - `--mersenne-exp `: The exponent for the Mersenne prime in the Lucas-Lehmer test. ### Examples - Get Help: ``` ./target/release/primes --help ``` - Check if a number is a prime: ``` ./target/release/primes --action standard --target 17 ``` - Perform the Miller-Rabin primality test: ``` ./target/release/primes --action miller-rabin --target 19 ``` - Generate primes up to 100: ``` ./target/release/primes --action generate --maximum 100 ``` - Raise a number to a power: ``` ./target/release/primes --action power --target 2 --power 10 ``` - Perform the Lucas-Lehmer test: ``` ./target/release/primes --action lucas-lehmer --mersenne-exp 13 ``` ## Contributing Contributions to the Prime Analysis Tool are welcome! Feel free to submit issues or pull requests on GitHub. ## License Prime Analysis Tool is distributed under the [MIT License](LICENSE). ## Author [Shashank P](https://github.com/shashankp28) ## Crates.io ## Rust crates.io [link](https://crates.io/crates/large-primes) Disclaimer: Prime Analysis Tool is a project under active development. Features and functionalities are subject to change.