Struct Mul

Source
pub struct Mul<const D: usize, G> { /* private fields */ }
Expand description

A generator multiplying scale to results of the underlying generator.

For details, see the documentation of mul(). Typically, this struct is not meant to be used directly. Instead, mul() implemented by Generator, should be used to create Mul.

Implementations§

Source§

impl<const D: usize, G> Mul<D, G>
where G: Generator<D>,

Source

pub fn new(generator: G, scale: f64) -> Self

Trait Implementations§

Source§

impl<const D: usize, G: Clone> Clone for Mul<D, G>

Source§

fn clone(&self) -> Mul<D, G>

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<const D: usize, G: Debug> Debug for Mul<D, G>

Source§

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

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

impl<const D: usize, G> Generator<D> for Mul<D, G>
where G: Generator<D>,

Source§

fn sample(&self, point: [f64; D]) -> f64

Samples the generator at a given point and returns the resulting value. Read more
Source§

fn scale(self, scale: [f64; D]) -> Scale<D, Self>

Create a generator which scales input points before passing them to the underlying generator. Read more
Source§

fn translate(self, translation: [f64; D]) -> Translate<D, Self>

Create a generator which translates input points before passing them to the underlying generator. Read more
Source§

fn neg(self) -> Neg<D, Self>

Create a generator which negates the results of the underlying generator. Read more
Source§

fn abs(self) -> Abs<D, Self>

Create a generator returning the absolute value of the results of the underlying generator. Read more
Source§

fn exp(self) -> Exp<D, Self>

Create a generator applying the exponential function on results of the underlying generator. Read more
Source§

fn add(self, offset: f64) -> Add<D, Self>

Create a generator adding offset to results of the underlying generator. Read more
Source§

fn mul(self, scale: f64) -> Mul<D, Self>

Create a generator multiplying scale to results of the underlying generator. Read more
Source§

fn powi(self, exponent: i32) -> Pow<D, Self, i32>

Create a generator raising results of the underlying generator to the power of exponent. Read more
Source§

fn powf(self, exponent: f64) -> Pow<D, Self, f64>

Create a generator raising results of the underlying generator to the power of exponent. Read more
Source§

fn clamp(self, min: f64, max: f64) -> Clamp<D, Self>

Create a generator clamping results of the underlying generator to a given interval. Read more
Source§

fn lambda<L>(self, lambda: L) -> Lambda<D, Self, L>
where L: Fn(f64) -> f64,

Create a generator applying the supplied closure to results of the underlying generator. Read more
Source§

fn sum<G>(self, other: G) -> Sum<D, Self, G>
where G: Generator<D>,

Create a generator adding results of the underlying generator to results of a given other generator. Read more
Source§

fn product<G>(self, other: G) -> Product<D, Self, G>
where G: Generator<D>,

Create a generator multiplying results of the underlying generator to results of a given other generator. Read more
Source§

fn min<G>(self, other: G) -> Min<D, Self, G>
where G: Generator<D>,

Create a generator producing the minimum of results of the underlying generator and results of a given other generator. Read more
Source§

fn max<G>(self, other: G) -> Max<D, Self, G>
where G: Generator<D>,

Create a generator producing the maximum of results of the underlying generator and results of a given other generator. Read more
Source§

fn power<G>(self, other: G) -> Power<D, Self, G>
where G: Generator<D>,

Create a generator raising results of the underlying generator to the power of results of a given other generator. Read more
Source§

fn fbm( self, octaves: u32, frequency: f64, lacunarity: f64, persistence: f64, ) -> Fbm<D, Self>

Create a generator applying fractal brownian motion on the underlying generator. Read more
Source§

fn billow( self, octaves: u32, frequency: f64, lacunarity: f64, persistence: f64, ) -> Billow<D, Self>

Create a generator applying an fbm()-like effect on the underlying generator. Read more
Source§

fn ridgedmulti( self, octaves: u32, frequency: f64, lacunarity: f64, attenuation: f64, ) -> RidgedMulti<D, Self>

Create a generator applying an fbm()-like effect on the underlying generator. Read more
Source§

fn blend<G, GC>(self, other: G, control: GC) -> Blend<D, Self, G, GC>
where G: Generator<D>, GC: Generator<D>,

Create a generator blending the underlying generator with a given other generator based on the value supplied by a control-generator. Read more
Source§

fn select<G, GC>( self, other: G, control: GC, selection_min: f64, selection_max: f64, ) -> Select<D, Self, G, GC>
where G: Generator<D>, GC: Generator<D>,

Create a generator selecting the result of either the underlying generator or that of a given other generator based on whether the value supplied by a control-generator lies within the provided interval. Read more
Source§

fn spline<S>(self, knot_vector: &[f64], knots: &[f64]) -> Spline<D, Self, S>
where S: SplineImpl,

Create a generator returning the function value of a provided spline given the result of the underlying generator as input. Read more
Source§

impl<G: Generator<1>> Generator1D for Mul<1, G>

Source§

fn displace_x<GA>(self, displacement_generator: GA) -> Displace<1, 0, Self, GA>
where GA: Generator<1>,

Create a generator providing the results of the underlying generator after displacing the x-coordinate by the result of the provided generator. Read more
Source§

impl<G: Generator<2>> Generator2D for Mul<2, G>

Source§

fn rotate(self, rotation: [f64; 1]) -> Rotate<2, 1, Self>

Create a generator which rotates input points before passing them to the underlying generator. Read more
Source§

fn displace_x<GA>(self, displacement_generator: GA) -> Displace<2, 0, Self, GA>
where GA: Generator<2>,

Create a generator providing the results of the underlying generator after displacing the x-coordinate by the result of the provided generator. Read more
Source§

fn displace_y<GA>(self, displacement_generator: GA) -> Displace<2, 1, Self, GA>
where GA: Generator<2>,

Create a generator providing the results of the underlying generator after displacing the y-coordinate by the result of the provided generator. Read more
Source§

impl<G: Generator<3>> Generator3D for Mul<3, G>

Source§

fn rotate(self, rotation: [f64; 3]) -> Rotate<3, 3, Self>

Create a generator which rotates input points before passing them to the underlying generator. Read more
Source§

fn displace_x<GA>(self, displacement_generator: GA) -> Displace<3, 0, Self, GA>
where GA: Generator<3>,

Create a generator providing the results of the underlying generator after displacing the x-coordinate by the result of the provided generator. Read more
Source§

fn displace_y<GA>(self, displacement_generator: GA) -> Displace<3, 1, Self, GA>
where GA: Generator<3>,

Create a generator providing the results of the underlying generator after displacing the y-coordinate by the result of the provided generator. Read more
Source§

fn displace_z<GA>(self, displacement_generator: GA) -> Displace<3, 2, Self, GA>
where GA: Generator<3>,

Create a generator providing the results of the underlying generator after displacing the z-coordinate by the result of the provided generator. Read more
Source§

impl<G: Generator<4>> Generator4D for Mul<4, G>

Source§

fn rotate(self, rotation: [f64; 6]) -> Rotate<4, 6, Self>

Create a generator which rotates input points before passing them to the underlying generator. Read more
Source§

fn displace_x<GA>(self, displacement_generator: GA) -> Displace<4, 0, Self, GA>
where GA: Generator<4>,

Create a generator providing the results of the underlying generator after displacing the x-coordinate by the result of the provided generator. Read more
Source§

fn displace_y<GA>(self, displacement_generator: GA) -> Displace<4, 1, Self, GA>
where GA: Generator<4>,

Create a generator providing the results of the underlying generator after displacing the y-coordinate by the result of the provided generator. Read more
Source§

fn displace_z<GA>(self, displacement_generator: GA) -> Displace<4, 2, Self, GA>
where GA: Generator<4>,

Create a generator providing the results of the underlying generator after displacing the z-coordinate by the result of the provided generator. Read more
Source§

fn displace_w<GA>(self, displacement_generator: GA) -> Displace<4, 3, Self, GA>
where GA: Generator<4>,

Create a generator providing the results of the underlying generator after displacing the w-coordinate by the result of the provided generator. Read more
Source§

impl<const D: usize, G: Copy> Copy for Mul<D, G>

Auto Trait Implementations§

§

impl<const D: usize, G> Freeze for Mul<D, G>
where G: Freeze,

§

impl<const D: usize, G> RefUnwindSafe for Mul<D, G>
where G: RefUnwindSafe,

§

impl<const D: usize, G> Send for Mul<D, G>
where G: Send,

§

impl<const D: usize, G> Sync for Mul<D, G>
where G: Sync,

§

impl<const D: usize, G> Unpin for Mul<D, G>
where G: Unpin,

§

impl<const D: usize, G> UnwindSafe for Mul<D, G>
where G: UnwindSafe,

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 T
where 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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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 T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V