Trait NTTFriendly

Source
pub trait NTTFriendly<Rhs = Self, Output = Self>:
    Clone
    + Copy
    + Add<Rhs, Output = Output>
    + Sub<Rhs, Output = Output>
    + Mul<Rhs, Output = Output>
    + Div<Rhs, Output = Output>
    + MulAssign<Rhs>
    + Zero
    + From<usize>
    + Fp {
    // Required methods
    fn order() -> usize;
    fn rem() -> usize;
    fn root() -> Self;

    // Provided method
    fn root_pow2m(a: usize) -> Self { ... }
}
Expand description

FFTに必要な関数

Required Methods§

Source

fn order() -> usize

M = 2^k * m + 1 を満たすような k

Source

fn rem() -> usize

M = 2^k * m + 1 を満たすような m

Source

fn root() -> Self

原始根

Provided Methods§

Source

fn root_pow2m(a: usize) -> Self

2^m 乗根

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§