Skip to main content

Modulo998244353

Enum Modulo998244353 

Source
pub enum Modulo998244353 {}

Implementations§

Source§

impl Modulo998244353

Source

fn rem(x: u64) -> u64

Source§

impl Modulo998244353

Source

unsafe fn add_scaled_avx2(x: &mut [MInt<Self>], y: &[MInt<Self>], a: u32)

Source

unsafe fn add_scaled_avx512(x: &mut [MInt<Self>], y: &[MInt<Self>], a: u32)

Source

unsafe fn dot_product_avx2(x: &[MInt<Self>], y: &[MInt<Self>]) -> u32

Source

unsafe fn dot_product_avx512(x: &[MInt<Self>], y: &[MInt<Self>]) -> u32

Trait Implementations§

Source§

impl MIntBase for Modulo998244353

Source§

type Inner = u32

Source§

fn get_mod() -> Self::Inner

Source§

fn mod_zero() -> Self::Inner

Source§

fn mod_one() -> Self::Inner

Source§

fn mod_add(x: Self::Inner, y: Self::Inner) -> Self::Inner

Source§

fn mod_sub(x: Self::Inner, y: Self::Inner) -> Self::Inner

Source§

fn mod_mul(x: Self::Inner, y: Self::Inner) -> Self::Inner

Source§

fn mod_div(x: Self::Inner, y: Self::Inner) -> Self::Inner

Source§

fn mod_neg(x: Self::Inner) -> Self::Inner

Source§

fn mod_inv(x: Self::Inner) -> Self::Inner

Source§

fn mod_pow(x: Self::Inner, y: usize) -> Self::Inner

Source§

fn mod_inner(x: Self::Inner) -> Self::Inner

Source§

impl MIntConvert<i32> for Modulo998244353

Source§

fn from(x: i32) -> Self::Inner

Source§

fn into(x: Self::Inner) -> i32

Source§

fn mod_into() -> i32

Source§

impl MIntConvert<i64> for Modulo998244353

Source§

fn from(x: i64) -> Self::Inner

Source§

fn into(x: Self::Inner) -> i64

Source§

fn mod_into() -> i64

Source§

impl MIntConvert<i128> for Modulo998244353

Source§

fn from(x: i128) -> Self::Inner

Source§

fn into(x: Self::Inner) -> i128

Source§

fn mod_into() -> i128

Source§

impl MIntConvert<isize> for Modulo998244353

Source§

fn from(x: isize) -> Self::Inner

Source§

fn into(x: Self::Inner) -> isize

Source§

fn mod_into() -> isize

Source§

impl MIntConvert<u32> for Modulo998244353

Source§

fn from(x: u32) -> Self::Inner

Source§

fn into(x: Self::Inner) -> u32

Source§

fn mod_into() -> u32

Source§

impl MIntConvert<u64> for Modulo998244353

Source§

fn from(x: u64) -> Self::Inner

Source§

fn into(x: Self::Inner) -> u64

Source§

fn mod_into() -> u64

Source§

impl MIntConvert<u128> for Modulo998244353

Source§

fn from(x: u128) -> Self::Inner

Source§

fn into(x: Self::Inner) -> u128

Source§

fn mod_into() -> u128

Source§

impl MIntConvert<usize> for Modulo998244353

Source§

fn from(x: usize) -> Self::Inner

Source§

fn into(x: Self::Inner) -> usize

Source§

fn mod_into() -> usize

Source§

impl MIntDotProduct for Modulo998244353

Source§

fn try_matrix_product( _a: &[Vec<MInt<Self>>], _b: &[Vec<MInt<Self>>], ) -> Option<Vec<Vec<MInt<Self>>>>

Source§

fn dot_product(x: &[MInt<Self>], y: &[MInt<Self>]) -> MInt<Self>

Source§

fn add_scaled_assign(x: &mut [MInt<Self>], y: &[MInt<Self>], a: &MInt<Self>)

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> 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> ToArrayVecScalar for T

Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.