src | ||

.gitignore | ||

.gitlab-ci.yml | ||

Cargo.lock | ||

Cargo.toml | ||

indivisible.1 | ||

install | ||

LICENSE | ||

README.md | ||

test.sh | ||

TODO | ||

uninstall |

# Indivisible

Indivisible is an optimized prime number generator and tester written in Rust.

## Build & Installation

To build the project you will require the Rust compiler and build
system, `cargo`

. At which point you simply run `cargo build`

in the root
directory of the project. To create an optimized release build append
the `--release`

flag to the previous command.

Once a release build has been compiled, you may install Indivisible and
the manpage documentation by running the `install`

script. In a similar
manner, you can run the `uninstall`

script to remove the previously
installed binary and documentation.

## Usage

The purpose of Indivisible is to find the nth prime and all the primes
before it. The basic usage is `indivisible <n>`

where `n`

is the ordinal
of the prime you'd like to find. To display all primes before `n`

, you
can run verbose mode by using the `--verbose`

or simply `-v`

option.

Since Indivisible generates primes using previously computed primes, you
can also import prime numbers previously computed with the `--import`

or
`-i`

option. To store already computed primes you are expected to use
piping like any UNIX user would expect. Here is an example:

```
# store first 100 primes in ./primes
indivisible -v 100 > ./primes
# appends next 400 primes
indivisible -i ./primes -v 500 >> ./primes
# display the 600th prime
indivisible -i ./primes 600
```

## Legacy

This project was originally written in C. It can be found in the indivisible-legacy repository on my GitLab.

## License

This project is licensed under the terms & conditions of the GNU General
Public License version 3 or greater (see `LICENSE`

file for more
information).