[][src]Struct contest_algorithms::math::num::Field

pub struct Field {
    pub val: i64,
}

Represents an element of the finite (Galois) field of prime order, given by MOD. Until Rust gets const generics, MOD must be hardcoded, but any prime in [1, 2^31.5] will work. If MOD is not prime, ring operations are still valid but recip() and division are not. Note that the latter operations are also the slowest, so precompute any inverses that you intend to use frequently.

Fields

val: i64

Methods

impl Field[src]

pub const MOD: i64[src]

pub fn pow(self, exp: u64) -> Self[src]

pub fn recip(self) -> Self[src]

Trait Implementations

impl PartialEq<Field> for Field[src]

impl Copy for Field[src]

impl Eq for Field[src]

impl From<i64> for Field[src]

impl Clone for Field[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Hash for Field[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl Add<Field> for Field[src]

type Output = Self

The resulting type after applying the + operator.

impl Sub<Field> for Field[src]

type Output = Self

The resulting type after applying the - operator.

impl Mul<Field> for Field[src]

type Output = Self

The resulting type after applying the * operator.

impl Div<Field> for Field[src]

type Output = Self

The resulting type after applying the / operator.

impl Neg for Field[src]

type Output = Self

The resulting type after applying the - operator.

impl Debug for Field[src]

Auto Trait Implementations

impl Send for Field

impl Unpin for Field

impl Sync for Field

impl UnwindSafe for Field

impl RefUnwindSafe for Field

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]