pub struct MultilinearExtensionTransparent<P, PE, Backend, Data = Vec<P>>where
P: PackedField,
PE: PackedField,
PE::Scalar: ExtensionField<P::Scalar>,
Backend: ComputationBackend,
Data: Deref<Target = [P]>,{ /* private fields */ }
Implementations§
source§impl<P, PE, Backend, Data> MultilinearExtensionTransparent<P, PE, Backend, Data>where
P: PackedField,
PE: PackedField,
PE::Scalar: ExtensionField<P::Scalar>,
Backend: ComputationBackend,
Data: Deref<Target = [P]>,
impl<P, PE, Backend, Data> MultilinearExtensionTransparent<P, PE, Backend, Data>where
P: PackedField,
PE: PackedField,
PE::Scalar: ExtensionField<P::Scalar>,
Backend: ComputationBackend,
Data: Deref<Target = [P]>,
pub fn from_specialized( data: MultilinearExtensionSpecialized<P, PE, Data>, backend: Backend ) -> Result<Self, Error>
pub fn from_values(values: Data, backend: Backend) -> Result<Self, Error>
Trait Implementations§
source§impl<P, PE, Backend, Data> Clone for MultilinearExtensionTransparent<P, PE, Backend, Data>where
P: PackedField + Clone,
PE: PackedField + Clone,
PE::Scalar: ExtensionField<P::Scalar>,
Backend: ComputationBackend + Clone,
Data: Deref<Target = [P]> + Clone,
impl<P, PE, Backend, Data> Clone for MultilinearExtensionTransparent<P, PE, Backend, Data>where
P: PackedField + Clone,
PE: PackedField + Clone,
PE::Scalar: ExtensionField<P::Scalar>,
Backend: ComputationBackend + Clone,
Data: Deref<Target = [P]> + Clone,
source§fn clone(&self) -> MultilinearExtensionTransparent<P, PE, Backend, Data>
fn clone(&self) -> MultilinearExtensionTransparent<P, PE, Backend, Data>
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<P, PE, Backend, Data> Debug for MultilinearExtensionTransparent<P, PE, Backend, Data>where
P: PackedField + Debug,
PE: PackedField + Debug,
PE::Scalar: ExtensionField<P::Scalar>,
Backend: ComputationBackend + Debug,
Data: Deref<Target = [P]> + Debug,
impl<P, PE, Backend, Data> Debug for MultilinearExtensionTransparent<P, PE, Backend, Data>where
P: PackedField + Debug,
PE: PackedField + Debug,
PE::Scalar: ExtensionField<P::Scalar>,
Backend: ComputationBackend + Debug,
Data: Deref<Target = [P]> + Debug,
source§impl<F, P, PE, Backend, Data> MultivariatePoly<F> for MultilinearExtensionTransparent<P, PE, Backend, Data>where
F: TowerField + ExtensionField<P::Scalar>,
P: PackedField,
PE: PackedField<Scalar = F>,
Backend: ComputationBackend,
Data: Deref<Target = [P]> + Send + Sync + Debug,
impl<F, P, PE, Backend, Data> MultivariatePoly<F> for MultilinearExtensionTransparent<P, PE, Backend, Data>where
F: TowerField + ExtensionField<P::Scalar>,
P: PackedField,
PE: PackedField<Scalar = F>,
Backend: ComputationBackend,
Data: Deref<Target = [P]> + Send + Sync + Debug,
source§impl<P, PE, Backend, Data> PartialEq for MultilinearExtensionTransparent<P, PE, Backend, Data>where
P: PackedField + PartialEq,
PE: PackedField + PartialEq,
PE::Scalar: ExtensionField<P::Scalar>,
Backend: ComputationBackend + PartialEq,
Data: Deref<Target = [P]> + PartialEq,
impl<P, PE, Backend, Data> PartialEq for MultilinearExtensionTransparent<P, PE, Backend, Data>where
P: PackedField + PartialEq,
PE: PackedField + PartialEq,
PE::Scalar: ExtensionField<P::Scalar>,
Backend: ComputationBackend + PartialEq,
Data: Deref<Target = [P]> + PartialEq,
source§fn eq(
&self,
other: &MultilinearExtensionTransparent<P, PE, Backend, Data>
) -> bool
fn eq( &self, other: &MultilinearExtensionTransparent<P, PE, Backend, Data> ) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl<P, PE, Backend, Data> Eq for MultilinearExtensionTransparent<P, PE, Backend, Data>where
P: PackedField + Eq,
PE: PackedField + Eq,
PE::Scalar: ExtensionField<P::Scalar>,
Backend: ComputationBackend + Eq,
Data: Deref<Target = [P]> + Eq,
impl<P, PE, Backend, Data> StructuralPartialEq for MultilinearExtensionTransparent<P, PE, Backend, Data>where
P: PackedField,
PE: PackedField,
PE::Scalar: ExtensionField<P::Scalar>,
Backend: ComputationBackend,
Data: Deref<Target = [P]>,
Auto Trait Implementations§
impl<P, PE, Backend, Data> Freeze for MultilinearExtensionTransparent<P, PE, Backend, Data>where
Backend: Debug + Sync + Send + Clone + Freeze,
<PE as PackedField>::Scalar: MulAssign<<P as PackedField>::Scalar> + SubAssign<<P as PackedField>::Scalar> + AddAssign<<P as PackedField>::Scalar> + Mul<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + Sub<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + Add<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + TryInto<<P as PackedField>::Scalar> + Sized + From<<P as PackedField>::Scalar> + Field<Output = <PE as PackedField>::Scalar> + WithUnderlier + Zeroable + InvertOrZero + Square + for<'a> MulAssign<&'a <PE as PackedField>::Scalar> + for<'a> SubAssign<&'a <PE as PackedField>::Scalar> + for<'a> AddAssign<&'a <PE as PackedField>::Scalar> + MulAssign + SubAssign + AddAssign + for<'a> Product<&'a <PE as PackedField>::Scalar> + for<'a> Sum<&'a <PE as PackedField>::Scalar> + for<'a> Mul<&'a <PE as PackedField>::Scalar> + for<'a> Sub<&'a <PE as PackedField>::Scalar> + for<'a> Add<&'a <PE as PackedField>::Scalar> + Product + Sum + Mul + Sub + Add + Neg + Debug + Sync + Send + Default + Clone + Copy + Eq + PartialEq + 'static,
<<PE as PackedField>::Scalar as WithUnderlier>::Underlier: PackScalar<<PE as PackedField>::Scalar> + UnderlierType + Sync + Send + Zeroable + NoUninit + Random + Copy + Clone + ConstantTimeEq + Eq + PartialEq + Default + Debug + Sized + 'static,
PE: Zeroable + Sync + Send + Product + Sum + MulAssign<<PE as PackedField>::Scalar> + SubAssign<<PE as PackedField>::Scalar> + AddAssign<<PE as PackedField>::Scalar> + Mul<<PE as PackedField>::Scalar, Output = PE, Output = PE> + Sub<<PE as PackedField>::Scalar, Output = PE, Output = PE> + Add<<PE as PackedField>::Scalar, Output = PE, Output = PE> + MulAssign + SubAssign + AddAssign + Mul + Sub + Add + Eq + PartialEq + Copy + Clone + Debug + Default + 'static,
P: Zeroable + Sync + Send + Product + Sum + MulAssign<<P as PackedField>::Scalar> + SubAssign<<P as PackedField>::Scalar> + AddAssign<<P as PackedField>::Scalar> + Mul<<P as PackedField>::Scalar, Output = P, Output = P> + Sub<<P as PackedField>::Scalar, Output = P, Output = P> + Add<<P as PackedField>::Scalar, Output = P, Output = P> + MulAssign + SubAssign + AddAssign + Mul + Sub + Add + Eq + PartialEq + Copy + Clone + Debug + Default + 'static,
Data: Freeze,
impl<P, PE, Backend, Data> RefUnwindSafe for MultilinearExtensionTransparent<P, PE, Backend, Data>where
Backend: Debug + Sync + Send + Clone + RefUnwindSafe,
<PE as PackedField>::Scalar: MulAssign<<P as PackedField>::Scalar> + SubAssign<<P as PackedField>::Scalar> + AddAssign<<P as PackedField>::Scalar> + Mul<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + Sub<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + Add<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + TryInto<<P as PackedField>::Scalar> + Sized + From<<P as PackedField>::Scalar> + Field<Output = <PE as PackedField>::Scalar> + WithUnderlier + Zeroable + InvertOrZero + Square + for<'a> MulAssign<&'a <PE as PackedField>::Scalar> + for<'a> SubAssign<&'a <PE as PackedField>::Scalar> + for<'a> AddAssign<&'a <PE as PackedField>::Scalar> + MulAssign + SubAssign + AddAssign + for<'a> Product<&'a <PE as PackedField>::Scalar> + for<'a> Sum<&'a <PE as PackedField>::Scalar> + for<'a> Mul<&'a <PE as PackedField>::Scalar> + for<'a> Sub<&'a <PE as PackedField>::Scalar> + for<'a> Add<&'a <PE as PackedField>::Scalar> + Product + Sum + Mul + Sub + Add + Neg + Debug + Sync + Send + Default + Clone + Copy + Eq + PartialEq + 'static,
<<PE as PackedField>::Scalar as WithUnderlier>::Underlier: PackScalar<<PE as PackedField>::Scalar> + UnderlierType + Sync + Send + Zeroable + NoUninit + Random + Copy + Clone + ConstantTimeEq + Eq + PartialEq + Default + Debug + Sized + 'static,
PE: Zeroable + Sync + Send + Product + Sum + MulAssign<<PE as PackedField>::Scalar> + SubAssign<<PE as PackedField>::Scalar> + AddAssign<<PE as PackedField>::Scalar> + Mul<<PE as PackedField>::Scalar, Output = PE, Output = PE> + Sub<<PE as PackedField>::Scalar, Output = PE, Output = PE> + Add<<PE as PackedField>::Scalar, Output = PE, Output = PE> + MulAssign + SubAssign + AddAssign + Mul + Sub + Add + Eq + PartialEq + Copy + Clone + Debug + Default + 'static + RefUnwindSafe,
P: Zeroable + Sync + Send + Product + Sum + MulAssign<<P as PackedField>::Scalar> + SubAssign<<P as PackedField>::Scalar> + AddAssign<<P as PackedField>::Scalar> + Mul<<P as PackedField>::Scalar, Output = P, Output = P> + Sub<<P as PackedField>::Scalar, Output = P, Output = P> + Add<<P as PackedField>::Scalar, Output = P, Output = P> + MulAssign + SubAssign + AddAssign + Mul + Sub + Add + Eq + PartialEq + Copy + Clone + Debug + Default + 'static,
Data: RefUnwindSafe,
impl<P, PE, Backend, Data> Send for MultilinearExtensionTransparent<P, PE, Backend, Data>where
Backend: Debug + Sync + Send + Clone,
<PE as PackedField>::Scalar: MulAssign<<P as PackedField>::Scalar> + SubAssign<<P as PackedField>::Scalar> + AddAssign<<P as PackedField>::Scalar> + Mul<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + Sub<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + Add<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + TryInto<<P as PackedField>::Scalar> + Sized + From<<P as PackedField>::Scalar> + Field<Output = <PE as PackedField>::Scalar> + WithUnderlier + Zeroable + InvertOrZero + Square + for<'a> MulAssign<&'a <PE as PackedField>::Scalar> + for<'a> SubAssign<&'a <PE as PackedField>::Scalar> + for<'a> AddAssign<&'a <PE as PackedField>::Scalar> + MulAssign + SubAssign + AddAssign + for<'a> Product<&'a <PE as PackedField>::Scalar> + for<'a> Sum<&'a <PE as PackedField>::Scalar> + for<'a> Mul<&'a <PE as PackedField>::Scalar> + for<'a> Sub<&'a <PE as PackedField>::Scalar> + for<'a> Add<&'a <PE as PackedField>::Scalar> + Product + Sum + Mul + Sub + Add + Neg + Debug + Sync + Send + Default + Clone + Copy + Eq + PartialEq + 'static,
<<PE as PackedField>::Scalar as WithUnderlier>::Underlier: PackScalar<<PE as PackedField>::Scalar> + UnderlierType + Sync + Send + Zeroable + NoUninit + Random + Copy + Clone + ConstantTimeEq + Eq + PartialEq + Default + Debug + Sized + 'static,
PE: Zeroable + Sync + Send + Product + Sum + MulAssign<<PE as PackedField>::Scalar> + SubAssign<<PE as PackedField>::Scalar> + AddAssign<<PE as PackedField>::Scalar> + Mul<<PE as PackedField>::Scalar, Output = PE, Output = PE> + Sub<<PE as PackedField>::Scalar, Output = PE, Output = PE> + Add<<PE as PackedField>::Scalar, Output = PE, Output = PE> + MulAssign + SubAssign + AddAssign + Mul + Sub + Add + Eq + PartialEq + Copy + Clone + Debug + Default + 'static,
P: Zeroable + Sync + Send + Product + Sum + MulAssign<<P as PackedField>::Scalar> + SubAssign<<P as PackedField>::Scalar> + AddAssign<<P as PackedField>::Scalar> + Mul<<P as PackedField>::Scalar, Output = P, Output = P> + Sub<<P as PackedField>::Scalar, Output = P, Output = P> + Add<<P as PackedField>::Scalar, Output = P, Output = P> + MulAssign + SubAssign + AddAssign + Mul + Sub + Add + Eq + PartialEq + Copy + Clone + Debug + Default + 'static,
Data: Send,
impl<P, PE, Backend, Data> Sync for MultilinearExtensionTransparent<P, PE, Backend, Data>where
Backend: Debug + Sync + Send + Clone,
<PE as PackedField>::Scalar: MulAssign<<P as PackedField>::Scalar> + SubAssign<<P as PackedField>::Scalar> + AddAssign<<P as PackedField>::Scalar> + Mul<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + Sub<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + Add<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + TryInto<<P as PackedField>::Scalar> + Sized + From<<P as PackedField>::Scalar> + Field<Output = <PE as PackedField>::Scalar> + WithUnderlier + Zeroable + InvertOrZero + Square + for<'a> MulAssign<&'a <PE as PackedField>::Scalar> + for<'a> SubAssign<&'a <PE as PackedField>::Scalar> + for<'a> AddAssign<&'a <PE as PackedField>::Scalar> + MulAssign + SubAssign + AddAssign + for<'a> Product<&'a <PE as PackedField>::Scalar> + for<'a> Sum<&'a <PE as PackedField>::Scalar> + for<'a> Mul<&'a <PE as PackedField>::Scalar> + for<'a> Sub<&'a <PE as PackedField>::Scalar> + for<'a> Add<&'a <PE as PackedField>::Scalar> + Product + Sum + Mul + Sub + Add + Neg + Debug + Sync + Send + Default + Clone + Copy + Eq + PartialEq + 'static,
<<PE as PackedField>::Scalar as WithUnderlier>::Underlier: PackScalar<<PE as PackedField>::Scalar> + UnderlierType + Sync + Send + Zeroable + NoUninit + Random + Copy + Clone + ConstantTimeEq + Eq + PartialEq + Default + Debug + Sized + 'static,
PE: Zeroable + Sync + Send + Product + Sum + MulAssign<<PE as PackedField>::Scalar> + SubAssign<<PE as PackedField>::Scalar> + AddAssign<<PE as PackedField>::Scalar> + Mul<<PE as PackedField>::Scalar, Output = PE, Output = PE> + Sub<<PE as PackedField>::Scalar, Output = PE, Output = PE> + Add<<PE as PackedField>::Scalar, Output = PE, Output = PE> + MulAssign + SubAssign + AddAssign + Mul + Sub + Add + Eq + PartialEq + Copy + Clone + Debug + Default + 'static,
P: Zeroable + Sync + Send + Product + Sum + MulAssign<<P as PackedField>::Scalar> + SubAssign<<P as PackedField>::Scalar> + AddAssign<<P as PackedField>::Scalar> + Mul<<P as PackedField>::Scalar, Output = P, Output = P> + Sub<<P as PackedField>::Scalar, Output = P, Output = P> + Add<<P as PackedField>::Scalar, Output = P, Output = P> + MulAssign + SubAssign + AddAssign + Mul + Sub + Add + Eq + PartialEq + Copy + Clone + Debug + Default + 'static,
Data: Sync,
impl<P, PE, Backend, Data> Unpin for MultilinearExtensionTransparent<P, PE, Backend, Data>where
Backend: Debug + Sync + Send + Clone + Unpin,
<PE as PackedField>::Scalar: MulAssign<<P as PackedField>::Scalar> + SubAssign<<P as PackedField>::Scalar> + AddAssign<<P as PackedField>::Scalar> + Mul<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + Sub<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + Add<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + TryInto<<P as PackedField>::Scalar> + Sized + From<<P as PackedField>::Scalar> + Field<Output = <PE as PackedField>::Scalar> + WithUnderlier + Zeroable + InvertOrZero + Square + for<'a> MulAssign<&'a <PE as PackedField>::Scalar> + for<'a> SubAssign<&'a <PE as PackedField>::Scalar> + for<'a> AddAssign<&'a <PE as PackedField>::Scalar> + MulAssign + SubAssign + AddAssign + for<'a> Product<&'a <PE as PackedField>::Scalar> + for<'a> Sum<&'a <PE as PackedField>::Scalar> + for<'a> Mul<&'a <PE as PackedField>::Scalar> + for<'a> Sub<&'a <PE as PackedField>::Scalar> + for<'a> Add<&'a <PE as PackedField>::Scalar> + Product + Sum + Mul + Sub + Add + Neg + Debug + Sync + Send + Default + Clone + Copy + Eq + PartialEq + 'static,
<<PE as PackedField>::Scalar as WithUnderlier>::Underlier: PackScalar<<PE as PackedField>::Scalar> + UnderlierType + Sync + Send + Zeroable + NoUninit + Random + Copy + Clone + ConstantTimeEq + Eq + PartialEq + Default + Debug + Sized + 'static,
PE: Zeroable + Sync + Send + Product + Sum + MulAssign<<PE as PackedField>::Scalar> + SubAssign<<PE as PackedField>::Scalar> + AddAssign<<PE as PackedField>::Scalar> + Mul<<PE as PackedField>::Scalar, Output = PE, Output = PE> + Sub<<PE as PackedField>::Scalar, Output = PE, Output = PE> + Add<<PE as PackedField>::Scalar, Output = PE, Output = PE> + MulAssign + SubAssign + AddAssign + Mul + Sub + Add + Eq + PartialEq + Copy + Clone + Debug + Default + 'static + Unpin,
P: Zeroable + Sync + Send + Product + Sum + MulAssign<<P as PackedField>::Scalar> + SubAssign<<P as PackedField>::Scalar> + AddAssign<<P as PackedField>::Scalar> + Mul<<P as PackedField>::Scalar, Output = P, Output = P> + Sub<<P as PackedField>::Scalar, Output = P, Output = P> + Add<<P as PackedField>::Scalar, Output = P, Output = P> + MulAssign + SubAssign + AddAssign + Mul + Sub + Add + Eq + PartialEq + Copy + Clone + Debug + Default + 'static,
Data: Unpin,
impl<P, PE, Backend, Data> UnwindSafe for MultilinearExtensionTransparent<P, PE, Backend, Data>where
Backend: Debug + Sync + Send + Clone + UnwindSafe,
<PE as PackedField>::Scalar: MulAssign<<P as PackedField>::Scalar> + SubAssign<<P as PackedField>::Scalar> + AddAssign<<P as PackedField>::Scalar> + Mul<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + Sub<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + Add<<P as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar, Output = <PE as PackedField>::Scalar> + TryInto<<P as PackedField>::Scalar> + Sized + From<<P as PackedField>::Scalar> + Field<Output = <PE as PackedField>::Scalar> + WithUnderlier + Zeroable + InvertOrZero + Square + for<'a> MulAssign<&'a <PE as PackedField>::Scalar> + for<'a> SubAssign<&'a <PE as PackedField>::Scalar> + for<'a> AddAssign<&'a <PE as PackedField>::Scalar> + MulAssign + SubAssign + AddAssign + for<'a> Product<&'a <PE as PackedField>::Scalar> + for<'a> Sum<&'a <PE as PackedField>::Scalar> + for<'a> Mul<&'a <PE as PackedField>::Scalar> + for<'a> Sub<&'a <PE as PackedField>::Scalar> + for<'a> Add<&'a <PE as PackedField>::Scalar> + Product + Sum + Mul + Sub + Add + Neg + Debug + Sync + Send + Default + Clone + Copy + Eq + PartialEq + 'static,
<<PE as PackedField>::Scalar as WithUnderlier>::Underlier: PackScalar<<PE as PackedField>::Scalar> + UnderlierType + Sync + Send + Zeroable + NoUninit + Random + Copy + Clone + ConstantTimeEq + Eq + PartialEq + Default + Debug + Sized + 'static,
PE: Zeroable + Sync + Send + Product + Sum + MulAssign<<PE as PackedField>::Scalar> + SubAssign<<PE as PackedField>::Scalar> + AddAssign<<PE as PackedField>::Scalar> + Mul<<PE as PackedField>::Scalar, Output = PE, Output = PE> + Sub<<PE as PackedField>::Scalar, Output = PE, Output = PE> + Add<<PE as PackedField>::Scalar, Output = PE, Output = PE> + MulAssign + SubAssign + AddAssign + Mul + Sub + Add + Eq + PartialEq + Copy + Clone + Debug + Default + 'static + UnwindSafe,
P: Zeroable + Sync + Send + Product + Sum + MulAssign<<P as PackedField>::Scalar> + SubAssign<<P as PackedField>::Scalar> + AddAssign<<P as PackedField>::Scalar> + Mul<<P as PackedField>::Scalar, Output = P, Output = P> + Sub<<P as PackedField>::Scalar, Output = P, Output = P> + Add<<P as PackedField>::Scalar, Output = P, Output = P> + MulAssign + SubAssign + AddAssign + Mul + Sub + Add + Eq + PartialEq + Copy + Clone + Debug + Default + 'static,
Data: 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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more