pub struct SparsePolynomial<P: PrimeMod> { /* private fields */ }Expand description
疎な多項式
Implementations§
Source§impl<P: PrimeMod> SparsePolynomial<P>
impl<P: PrimeMod> SparsePolynomial<P>
Sourcepub fn constant(a: ConstModInt<P>) -> Self
pub fn constant(a: ConstModInt<P>) -> Self
定数項のみをもつ多項式を生成する。
Sourcepub fn add_one_term<T>(&mut self, i: usize, k: T)where
ConstModInt<P>: From<T>,
pub fn add_one_term<T>(&mut self, i: usize, k: T)where
ConstModInt<P>: From<T>,
$k x^i$となる項を足す。
Sourcepub fn coeff_of(&self, i: usize) -> ConstModInt<P>
pub fn coeff_of(&self, i: usize) -> ConstModInt<P>
$x^i$の係数を得る。
Sourcepub fn differential(&mut self)
pub fn differential(&mut self)
多項式を微分する。
Sourcepub fn scale(&mut self, k: ConstModInt<P>)
pub fn scale(&mut self, k: ConstModInt<P>)
多項式をk倍する。
Sourcepub fn shift_lower(&mut self, k: usize)
pub fn shift_lower(&mut self, k: usize)
係数をk次だけ低次側にずらす。ただし、負の次数の項は無視する。
Sourcepub fn shift_higher(&mut self, k: usize)
pub fn shift_higher(&mut self, k: usize)
係数をk次だけ高次側にずらす。
Sourcepub fn iter(&self) -> impl Iterator<Item = (&usize, &ConstModInt<P>)>
pub fn iter(&self) -> impl Iterator<Item = (&usize, &ConstModInt<P>)>
項の次数と係数のペアへのイテレータを返す。
Trait Implementations§
Source§impl<P: Clone + PrimeMod> Clone for SparsePolynomial<P>
impl<P: Clone + PrimeMod> Clone for SparsePolynomial<P>
Source§fn clone(&self) -> SparsePolynomial<P>
fn clone(&self) -> SparsePolynomial<P>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<P: Default + PrimeMod> Default for SparsePolynomial<P>
impl<P: Default + PrimeMod> Default for SparsePolynomial<P>
Source§fn default() -> SparsePolynomial<P>
fn default() -> SparsePolynomial<P>
Returns the “default value” for a type. Read more
Source§impl<P: PrimeMod> FpsExpSparse for SparsePolynomial<P>
impl<P: PrimeMod> FpsExpSparse for SparsePolynomial<P>
Source§impl<P: PrimeMod> FpsInvSparse for SparsePolynomial<P>
impl<P: PrimeMod> FpsInvSparse for SparsePolynomial<P>
Source§impl<P: PrimeMod> FpsLogSparse for SparsePolynomial<P>
impl<P: PrimeMod> FpsLogSparse for SparsePolynomial<P>
Source§impl<P: PrimeMod> FpsPowSparse for SparsePolynomial<P>
impl<P: PrimeMod> FpsPowSparse for SparsePolynomial<P>
Source§impl<P: PrimeMod> FpsSqrtSparse for SparsePolynomial<P>
impl<P: PrimeMod> FpsSqrtSparse for SparsePolynomial<P>
Auto Trait Implementations§
impl<P> Freeze for SparsePolynomial<P>
impl<P> RefUnwindSafe for SparsePolynomial<P>where
P: RefUnwindSafe,
impl<P> Send for SparsePolynomial<P>where
P: Send,
impl<P> Sync for SparsePolynomial<P>where
P: Sync,
impl<P> Unpin for SparsePolynomial<P>
impl<P> UnwindSafe for SparsePolynomial<P>where
P: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more