pub struct LogOffsetMapper { /* private fields */ }Expand description
Logarithmic range mapping with offset for negative ranges.
Provides logarithmic mapping for ranges that include zero or negative values by offsetting the range to positive values, applying log mapping, then offsetting back.
Use this when you need true logarithmic behavior (geometric mean at midpoint)
for ranges that can’t use LogMapper.
§Panics
Panics if the range end is not greater than the range start.
§Example
ⓘ
// Logarithmic feel for threshold parameter
let mapper = LogOffsetMapper::new(-60.0..=0.0);
// The geometric mean (in offset space) is at normalized 0.5
let mid = mapper.denormalize(0.5);
// mid ≈ -53 dB (closer to min due to log curve)Implementations§
Source§impl LogOffsetMapper
impl LogOffsetMapper
Sourcepub fn new(range: RangeInclusive<f64>) -> Self
pub fn new(range: RangeInclusive<f64>) -> Self
Create a new logarithmic offset mapper.
The offset is automatically calculated to ensure all values
are positive: offset = abs(min) + 1.0.
§Panics
Panics if max <= min.
Trait Implementations§
Source§impl Clone for LogOffsetMapper
impl Clone for LogOffsetMapper
Source§fn clone(&self) -> LogOffsetMapper
fn clone(&self) -> LogOffsetMapper
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 LogOffsetMapper
impl Debug for LogOffsetMapper
Source§impl RangeMapper for LogOffsetMapper
impl RangeMapper for LogOffsetMapper
Source§fn normalize(&self, plain: f64) -> f64
fn normalize(&self, plain: f64) -> f64
Convert a plain value to normalized (0.0-1.0). Read more
Source§fn denormalize(&self, normalized: f64) -> f64
fn denormalize(&self, normalized: f64) -> f64
Convert a normalized value (0.0-1.0) to plain. Read more
Source§fn default_normalized(&self, plain_default: f64) -> f64
fn default_normalized(&self, plain_default: f64) -> f64
Get the default normalized value for a given plain default.
Auto Trait Implementations§
impl Freeze for LogOffsetMapper
impl RefUnwindSafe for LogOffsetMapper
impl Send for LogOffsetMapper
impl Sync for LogOffsetMapper
impl Unpin for LogOffsetMapper
impl UnwindSafe for LogOffsetMapper
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