Skip to main content

ModNeg

Trait ModNeg 

Source
pub trait ModNeg<M = Self> {
    type Output;

    // Required method
    fn mod_neg(self, m: M) -> Self::Output;
}
Expand description

Negates a number modulo another number $m$. The input must be already reduced modulo $m$.

Required Associated Types§

Required Methods§

Source

fn mod_neg(self, m: M) -> Self::Output

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl ModNeg for u8

Source§

fn mod_neg(self, m: u8) -> u8

Negates a number modulo another number $m$, in place. The input must be already reduced modulo $m$.

$f(x, m) = y$, where $x, y < m$ and $-x \equiv y \mod m$.

§Worst-case complexity

Constant time and additional memory.

§Examples

See here.

This is equivalent to nmod_neg from nmod.h, FLINT 2.7.1.

Source§

type Output = u8

Source§

impl ModNeg for u16

Source§

fn mod_neg(self, m: u16) -> u16

Negates a number modulo another number $m$, in place. The input must be already reduced modulo $m$.

$f(x, m) = y$, where $x, y < m$ and $-x \equiv y \mod m$.

§Worst-case complexity

Constant time and additional memory.

§Examples

See here.

This is equivalent to nmod_neg from nmod.h, FLINT 2.7.1.

Source§

type Output = u16

Source§

impl ModNeg for u32

Source§

fn mod_neg(self, m: u32) -> u32

Negates a number modulo another number $m$, in place. The input must be already reduced modulo $m$.

$f(x, m) = y$, where $x, y < m$ and $-x \equiv y \mod m$.

§Worst-case complexity

Constant time and additional memory.

§Examples

See here.

This is equivalent to nmod_neg from nmod.h, FLINT 2.7.1.

Source§

type Output = u32

Source§

impl ModNeg for u64

Source§

fn mod_neg(self, m: u64) -> u64

Negates a number modulo another number $m$, in place. The input must be already reduced modulo $m$.

$f(x, m) = y$, where $x, y < m$ and $-x \equiv y \mod m$.

§Worst-case complexity

Constant time and additional memory.

§Examples

See here.

This is equivalent to nmod_neg from nmod.h, FLINT 2.7.1.

Source§

type Output = u64

Source§

impl ModNeg for u128

Source§

fn mod_neg(self, m: u128) -> u128

Negates a number modulo another number $m$, in place. The input must be already reduced modulo $m$.

$f(x, m) = y$, where $x, y < m$ and $-x \equiv y \mod m$.

§Worst-case complexity

Constant time and additional memory.

§Examples

See here.

This is equivalent to nmod_neg from nmod.h, FLINT 2.7.1.

Source§

type Output = u128

Source§

impl ModNeg for usize

Source§

fn mod_neg(self, m: usize) -> usize

Negates a number modulo another number $m$, in place. The input must be already reduced modulo $m$.

$f(x, m) = y$, where $x, y < m$ and $-x \equiv y \mod m$.

§Worst-case complexity

Constant time and additional memory.

§Examples

See here.

This is equivalent to nmod_neg from nmod.h, FLINT 2.7.1.

Source§

type Output = usize

Implementors§