Skip to main content

JacobiSymbol

Enum JacobiSymbol 

Source
#[repr(i8)]
pub enum JacobiSymbol { Zero = 0, One = 1, MinusOne = -1, }
Expand description

Possible return values for Jacobi symbol calculations.

Variants§

§

Zero = 0

The two arguments are not coprime, they have a common divisor apart from 1.

§

One = 1

The two arguments are coprime. If the lower argument is prime, then the upper argument is quadratic residue modulo the lower argument. Otherwise, the upper argument is known to be quadratic nonresidue for an even number of prime factors of the lower argument.

§

MinusOne = -1

The two terms are coprime, and the upper argument is a quadratic nonresidue modulo the lower argument.

Implementations§

Source§

impl JacobiSymbol

Source

pub const fn is_zero(&self) -> Choice

Determine if the symbol is zero.

Source

pub const fn is_one(&self) -> Choice

Determine if the symbol is one.

Source

pub const fn is_minus_one(&self) -> Choice

Determine if the symbol is minus one.

Source

pub const fn neg(self) -> Self

Negate the symbol.

Trait Implementations§

Source§

impl Clone for JacobiSymbol

Source§

fn clone(&self) -> JacobiSymbol

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl ConstantTimeEq for JacobiSymbol

Available on crate feature subtle only.
Source§

fn ct_eq(&self, other: &Self) -> Choice

Determine if two items are equal. Read more
Source§

fn ct_ne(&self, other: &Self) -> Choice

Determine if two items are NOT equal. Read more
Source§

impl CtEq for JacobiSymbol

Source§

fn ct_eq(&self, other: &Self) -> Choice

Determine if self is equal to other in constant-time.
Source§

fn ct_ne(&self, other: &Rhs) -> Choice

Determine if self is NOT equal to other in constant-time.
Source§

impl Debug for JacobiSymbol

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<JacobiSymbol> for i8

Source§

fn from(symbol: JacobiSymbol) -> i8

Converts to this type from the input type.
Source§

impl Neg for JacobiSymbol

Source§

type Output = JacobiSymbol

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self

Performs the unary - operation. Read more
Source§

impl PartialEq for JacobiSymbol

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for JacobiSymbol

Source§

impl Eq for JacobiSymbol

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.