pub struct BsplineDerivativeWorkspace { /* private fields */ }Expand description
Reusable scratch arena for the shared B-spline higher-derivative recurrence.
The derivative recursion
B^{(m)}_{degree} = degree · (B^{(m-1)}_{degree-1}/Δ_left − B^{(m-1)}_{degree-1}/Δ_right)
peels one order and one degree per level until it bottoms out in the first
derivative (which itself is evaluated from the plain degree-d basis).
Each level needs one lower-order output buffer; the base case additionally
needs a plain-basis buffer and a [internal::BsplineScratch]. This arena
owns that whole chain so a tight evaluation loop can amortise the
allocations across many points. Buffers grow on demand and are reused.
Implementations§
Trait Implementations§
Source§impl Default for BsplineDerivativeWorkspace
impl Default for BsplineDerivativeWorkspace
Source§fn default() -> BsplineDerivativeWorkspace
fn default() -> BsplineDerivativeWorkspace
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for BsplineDerivativeWorkspace
impl RefUnwindSafe for BsplineDerivativeWorkspace
impl Send for BsplineDerivativeWorkspace
impl Sync for BsplineDerivativeWorkspace
impl Unpin for BsplineDerivativeWorkspace
impl UnsafeUnpin for BsplineDerivativeWorkspace
impl UnwindSafe for BsplineDerivativeWorkspace
Blanket Implementations§
impl<T> Allocation for T
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.