pub enum TransferFunction {
Linear {
coefficient: f64,
intercept: f64,
},
Exponential {
base: f64,
rate: f64,
},
Logistic {
capacity: f64,
midpoint: f64,
steepness: f64,
},
InverseLogistic {
capacity: f64,
midpoint: f64,
steepness: f64,
},
Step {
threshold: f64,
magnitude: f64,
},
Threshold {
threshold: f64,
magnitude: f64,
saturation: f64,
},
Decay {
initial: f64,
decay_rate: f64,
},
Piecewise {
points: Vec<(f64, f64)>,
},
}Variants§
Linear
output = input * coefficient + intercept
Exponential
output = base * (1 + rate)^input
Logistic
output = capacity / (1 + e^(-steepness * (input - midpoint)))
InverseLogistic
output = capacity / (1 + e^(steepness * (input - midpoint)))
Step
output = magnitude when input crosses threshold, else 0
Threshold
output = magnitude when input > threshold, scaling linearly above
Decay
output = initial * e^(-decay_rate * input)
Piecewise
Lookup table with linear interpolation between points.
Implementations§
Trait Implementations§
Source§impl Clone for TransferFunction
impl Clone for TransferFunction
Source§fn clone(&self) -> TransferFunction
fn clone(&self) -> TransferFunction
Returns a duplicate 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 Debug for TransferFunction
impl Debug for TransferFunction
Source§impl<'de> Deserialize<'de> for TransferFunction
impl<'de> Deserialize<'de> for TransferFunction
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for TransferFunction
impl RefUnwindSafe for TransferFunction
impl Send for TransferFunction
impl Sync for TransferFunction
impl Unpin for TransferFunction
impl UnsafeUnpin for TransferFunction
impl UnwindSafe for TransferFunction
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