Function algebraic_equation_over_finite_prime_field::jacobi_symbol[][src]

pub fn jacobi_symbol<T>(a: T, m: T) -> i8 where
    T: Sized + Eq + Zero + One + for<'x> DivAssign<&'x T> + for<'x> RemAssign<&'x T> + From<u8>,
    for<'x> &'x T: Rem<Output = T>, 
Expand description

calcurate Jacobi symbol

Requires: a is positive integer. m is positive odd integer.

use algebraic_equation_over_finite_prime_field::jacobi_symbol;
assert_eq!(jacobi_symbol::<i32>(5, 21), 1i8);
assert_eq!(jacobi_symbol::<i32>(7, 15), -1i8);
assert_eq!(jacobi_symbol::<i32>(12, 27), 0i8);
assert_eq!(jacobi_symbol::<i32>(1001, 9907), -1i8);
assert_eq!(jacobi_symbol::<i32>(12345, 331), -1i8);