Skip to main content

AttractorFamily

Enum AttractorFamily 

Source
pub enum AttractorFamily {
    DeJong,
    Clifford,
    Thomas,
    Lorenz,
    Ifs(IfsFigure),
}
Expand description

Which strange-attractor map the compute step iterates. Selected data-driven via the optional [particles] config table (ADR-0007 configure hook); the default is De Jong. Extend as follow-up plans add maps; unknown names are rejected at load.

Variants§

§

DeJong

De Jong — a 2D discrete map, bounded in ~[-2, 2].

§

Clifford

Clifford — a 2D discrete map, bounded in ~[-2, 2].

§

Thomas

Thomas — a 3D cyclically-symmetric continuous flow.

§

Lorenz

Lorenz — the 3D convection flow (the butterfly), projected to 2D.

§

Ifs(IfsFigure)

An iterated function system (ADR-0075) — not a strange attractor: four affine maps, one drawn at random per particle per step. The figure it converges onto is the carried IfsFigure; see ifs for why the parameterization is the interesting half.

Implementations§

Source§

impl AttractorFamily

Source

pub const MAPS: [AttractorFamily; 4]

The four map families, in roster order. The IFS arm is not listed here because it is IfsFigure::ALL — one roster, reached through the type that owns it, so the schema export renders both without a copy of either.

Source

pub fn from_name(name: &str) -> Option<Self>

Parse a [particles] family name, or None if unknown.

The IFS figures sit in the same namespace as the map families rather than behind a family = "ifs" + figure = "fern" pair: a preset picks one figure, the way it picks one map today, and morph_to names the other end out of the identical vocabulary.

Source

pub fn as_str(self) -> &'static str

The [particles] family name this parses from — from_name’s inverse.

Trait Implementations§

Source§

impl Clone for AttractorFamily

Source§

fn clone(&self) -> AttractorFamily

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for AttractorFamily

Source§

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

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

impl PartialEq for AttractorFamily

Source§

fn eq(&self, other: &AttractorFamily) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for AttractorFamily

Source§

impl Eq for AttractorFamily

Source§

impl StructuralPartialEq for AttractorFamily

Auto Trait Implementations§

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
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> 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.
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

§

impl<T> WasmNotSend for T
where T: Send,

§

impl<T> WasmNotSendSync for T
where T: WasmNotSend + WasmNotSync,

§

impl<T> WasmNotSync for T
where T: Sync,