pub struct Polynomial<F: Field, N: ArrayLength<F> + Add<B1>>(/* private fields */)
where
Add1<N>: ArrayLength<F>;
Implementations§
Source§impl<F: Field, N: ArrayLength<F> + Add<B1>> Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
impl<F: Field, N: ArrayLength<F> + Add<B1>> Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
pub fn deg(&self) -> usize
pub fn leading_coefficient(&self) -> F
Trait Implementations§
Source§impl<F: Field, N: ArrayLength<F> + Add<B1> + Max<M>, M: ArrayLength<F> + Add<B1>> Add<Polynomial<F, M>> for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Add1<M>: ArrayLength<F>,
Maximum<N, M>: ArrayLength<F> + Add<B1>,
Add1<Maximum<N, M>>: ArrayLength<F>,
impl<F: Field, N: ArrayLength<F> + Add<B1> + Max<M>, M: ArrayLength<F> + Add<B1>> Add<Polynomial<F, M>> for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Add1<M>: ArrayLength<F>,
Maximum<N, M>: ArrayLength<F> + Add<B1>,
Add1<Maximum<N, M>>: ArrayLength<F>,
Source§impl<F: Clone + Field, N: Clone + ArrayLength<F> + Add<B1>> Clone for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
impl<F: Clone + Field, N: Clone + ArrayLength<F> + Add<B1>> Clone for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Source§fn clone(&self) -> Polynomial<F, N>
fn clone(&self) -> Polynomial<F, N>
Returns a copy 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<F: Debug + Field, N: Debug + ArrayLength<F> + Add<B1>> Debug for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
impl<F: Debug + Field, N: Debug + ArrayLength<F> + Add<B1>> Debug for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Source§impl<F: Default + Field, N: Default + ArrayLength<F> + Add<B1>> Default for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
impl<F: Default + Field, N: Default + ArrayLength<F> + Add<B1>> Default for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Source§fn default() -> Polynomial<F, N>
fn default() -> Polynomial<F, N>
Returns the “default value” for a type. Read more
Source§impl<F: Field + PartialEq, N: ArrayLength<F> + Add<B1> + Sub<M> + Max<Sum<Diff<N, M>, M>, Output = N>, M: ArrayLength<F> + Add<B1>> Div<Polynomial<F, M>> for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Add1<M>: ArrayLength<F>,
Diff<N, M>: ArrayLength<F> + Add<B1> + Add<M> + Max<Output = Diff<N, M>> + Add<Diff<N, M>>,
Add1<Diff<N, M>>: ArrayLength<F>,
Sum<Diff<N, M>, M>: ArrayLength<F> + Add<B1>,
Add1<Sum<Diff<N, M>, M>>: ArrayLength<F>,
Maximum<N, Sum<Diff<N, M>, M>>: ArrayLength<F> + Add<B1>,
Add1<Maximum<N, Sum<Diff<N, M>, M>>>: ArrayLength<F>,
impl<F: Field + PartialEq, N: ArrayLength<F> + Add<B1> + Sub<M> + Max<Sum<Diff<N, M>, M>, Output = N>, M: ArrayLength<F> + Add<B1>> Div<Polynomial<F, M>> for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Add1<M>: ArrayLength<F>,
Diff<N, M>: ArrayLength<F> + Add<B1> + Add<M> + Max<Output = Diff<N, M>> + Add<Diff<N, M>>,
Add1<Diff<N, M>>: ArrayLength<F>,
Sum<Diff<N, M>, M>: ArrayLength<F> + Add<B1>,
Add1<Sum<Diff<N, M>, M>>: ArrayLength<F>,
Maximum<N, Sum<Diff<N, M>, M>>: ArrayLength<F> + Add<B1>,
Add1<Maximum<N, Sum<Diff<N, M>, M>>>: ArrayLength<F>,
Source§impl<F: Field, N: ArrayLength<F> + Add<B1>> From<GenericArray<F, <N as Add<B1>>::Output>> for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
impl<F: Field, N: ArrayLength<F> + Add<B1>> From<GenericArray<F, <N as Add<B1>>::Output>> for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Source§fn from(original: GenericArray<F, Add1<N>>) -> Polynomial<F, N>
fn from(original: GenericArray<F, Add1<N>>) -> Polynomial<F, N>
Converts to this type from the input type.
Source§impl<F: Field, N: ArrayLength<F> + Add<M> + Add<B1>, M: ArrayLength<F> + Add<B1>> Mul<Polynomial<F, M>> for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Add1<M>: ArrayLength<F>,
Sum<N, M>: ArrayLength<F> + Add<B1>,
Add1<Sum<N, M>>: ArrayLength<F>,
impl<F: Field, N: ArrayLength<F> + Add<M> + Add<B1>, M: ArrayLength<F> + Add<B1>> Mul<Polynomial<F, M>> for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Add1<M>: ArrayLength<F>,
Sum<N, M>: ArrayLength<F> + Add<B1>,
Add1<Sum<N, M>>: ArrayLength<F>,
Source§impl<F: Field, N: ArrayLength<F> + Add<B1>> Neg for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
impl<F: Field, N: ArrayLength<F> + Add<B1>> Neg for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Source§impl<F: PartialEq + Field, N: PartialEq + ArrayLength<F> + Add<B1>> PartialEq for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
impl<F: PartialEq + Field, N: PartialEq + ArrayLength<F> + Add<B1>> PartialEq for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Source§impl<F: Field, N: ArrayLength<F> + Add<B1> + Max<M>, M: ArrayLength<F> + Add<B1>> Sub<Polynomial<F, M>> for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Add1<M>: ArrayLength<F>,
Maximum<N, M>: ArrayLength<F> + Add<B1>,
Add1<Maximum<N, M>>: ArrayLength<F>,
impl<F: Field, N: ArrayLength<F> + Add<B1> + Max<M>, M: ArrayLength<F> + Add<B1>> Sub<Polynomial<F, M>> for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Add1<M>: ArrayLength<F>,
Maximum<N, M>: ArrayLength<F> + Add<B1>,
Add1<Maximum<N, M>>: ArrayLength<F>,
impl<F: Field, N: ArrayLength<F> + Add<B1>> StructuralPartialEq for Polynomial<F, N>where
Add1<N>: ArrayLength<F>,
Auto Trait Implementations§
impl<F, N> Freeze for Polynomial<F, N>
impl<F, N> RefUnwindSafe for Polynomial<F, N>where
<N as Add<B1>>::Output: Sized,
<<N as Add<B1>>::Output as ArrayLength<F>>::ArrayType: RefUnwindSafe,
impl<F, N> Send for Polynomial<F, N>
impl<F, N> Sync for Polynomial<F, N>
impl<F, N> Unpin for Polynomial<F, N>
impl<F, N> UnwindSafe for Polynomial<F, N>where
<N as Add<B1>>::Output: Sized,
<<N as Add<B1>>::Output as ArrayLength<F>>::ArrayType: UnwindSafe,
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