pub struct TransformInput<G, A, M> { /* private fields */ }
Expand description

Struct which transforms the input before sending it to the underlying generator.

Both addition and multiplication is done. In regards to math operation priorities, multiplication is done first.

Implementations§

source§

impl<G, A, M> TransformInput<G, A, M>

source

pub fn new(generator: G, addition: A, multiplication: M) -> Self

Create a generic TransformInput.

source§

impl<G, R> TransformInput<G, R, R>where G: Curve<R>, R: Real,

source

pub fn normalized_to_domain(generator: G, start: R, end: R) -> Self

Transfrom an input such that the wrapped generator changes its domain from [0.0,1.0] to the domain wished for.

Trait Implementations§

source§

impl<G: Clone, A: Clone, M: Clone> Clone for TransformInput<G, A, M>

source§

fn clone(&self) -> TransformInput<G, A, M>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<G, R> Curve<R> for TransformInput<G, R, R>where G: Curve<R>, R: Real,

source§

fn domain(&self) -> [R; 2]

The domain in which the curve uses interpolation. Read more
source§

fn slice<B>(self, bounds: B) -> Slice<Self, R>where Self: Sized, B: RangeBounds<R>,

Take a slice of a curve. Read more
source§

fn clamp(self) -> Clamp<Self>where Self: Sized,

Clamp the input of a curve to its domain. Read more
source§

impl<G: Debug, A: Debug, M: Debug> Debug for TransformInput<G, A, M>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<G, A, M, I> Generator<I> for TransformInput<G, A, M>where I: Mul<M>, I::Output: Add<A>, A: Copy, M: Copy, G: Generator<<<I as Mul<M>>::Output as Add<A>>::Output>,

§

type Output = <G as Generator<<<I as Mul<M>>::Output as Add<A>>::Output>>::Output

The element outputted
source§

fn gen(&self, input: I) -> Self::Output

Method to generate the element at the given input
source§

fn extract<I, J>(self, iterator: I) -> Extract<Self, J> where Self: Sized, I: IntoIterator<IntoIter = J>, J: Iterator<Item = Input>,

Helper function if one wants to extract values from the interpolation. Read more
source§

fn stack<G>(self, gen: G) -> Stack<Self, G>where Self: Sized,

Stack two generators together Read more
source§

fn composite<G>(self, gen: G) -> Composite<Self, G>where Self: Sized,

Takes two generators and creates a new generator pipelining both generators. Read more
source§

fn by_ref(&self) -> &Self

Get a reference of the generator. Read more
source§

fn sample<I, J>(&self, iterator: I) -> Extract<&Self, J> where Self: Sized, I: IntoIterator<IntoIter = J>, J: Iterator<Item = Input>,

Helper function if one wants to sample values from the interpolation. Read more
source§

impl<G: PartialEq, A: PartialEq, M: PartialEq> PartialEq<TransformInput<G, A, M>> for TransformInput<G, A, M>

source§

fn eq(&self, other: &TransformInput<G, A, M>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<G: Copy, A: Copy, M: Copy> Copy for TransformInput<G, A, M>

source§

impl<G, A, M> StructuralPartialEq for TransformInput<G, A, M>

Auto Trait Implementations§

§

impl<G, A, M> RefUnwindSafe for TransformInput<G, A, M>where A: RefUnwindSafe, G: RefUnwindSafe, M: RefUnwindSafe,

§

impl<G, A, M> Send for TransformInput<G, A, M>where A: Send, G: Send, M: Send,

§

impl<G, A, M> Sync for TransformInput<G, A, M>where A: Sync, G: Sync, M: Sync,

§

impl<G, A, M> Unpin for TransformInput<G, A, M>where A: Unpin, G: Unpin, M: Unpin,

§

impl<G, A, M> UnwindSafe for TransformInput<G, A, M>where A: UnwindSafe, G: UnwindSafe, M: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.