pierwill / gaussiant

Gaussian integers in Rust.
https://crates.io/crates/gaussiant
1 stars 1 forks source link
complex-numbers mathematics number-theory

crate documentation stable nightly

A Gaussian integer is a complex number whose real and imaginary parts are both integers.

gaussiant provides the GaussianInt type, which is a wrapper around num_complex::Complex with additional methods for number theoretical computation.

Example

If a prime number p is congruent to 3 modulo 4, then it is a Gaussian prime (Wikipedia).

use gaussiant::{GaussianInt, gaussint};

fn main() {
    let p = gaussint!(7);
    assert_eq!(
        p.congruent(gaussint!(3), gaussint!(4)),
        p.is_gaussian_prime()
    );
}