Struct concrete_commons::dispersion::StandardDev
source · [−]pub struct StandardDev(pub f64);
Expand description
A distribution parameter that uses the standard deviation as representation.
Example:
use concrete_commons::dispersion::{DispersionParameter, StandardDev};
let params = StandardDev::from_standard_dev(2_f64.powf(-25.));
assert_eq!(params.get_standard_dev(), 2_f64.powf(-25.));
assert_eq!(params.get_log_standard_dev(), -25.);
assert_eq!(params.get_variance(), 2_f64.powf(-25.).powi(2));
assert_eq!(
params.get_modular_standard_dev::<u32>(),
2_f64.powf(32. - 25.)
);
assert_eq!(params.get_modular_log_standard_dev::<u32>(), 32. - 25.);
assert_eq!(
params.get_modular_variance::<u32>(),
2_f64.powf(32. - 25.).powi(2)
);
Tuple Fields
0: f64
Implementations
sourceimpl StandardDev
impl StandardDev
pub fn from_standard_dev(std: f64) -> StandardDev
pub fn from_modular_standard_dev<Uint>(std: f64) -> StandardDev where
Uint: UnsignedInteger,
Trait Implementations
sourceimpl Clone for StandardDev
impl Clone for StandardDev
sourcefn clone(&self) -> StandardDev
fn clone(&self) -> StandardDev
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for StandardDev
impl Debug for StandardDev
sourceimpl DispersionParameter for StandardDev
impl DispersionParameter for StandardDev
sourcefn get_standard_dev(&self) -> f64
fn get_standard_dev(&self) -> f64
Returns the standard deviation of the distribution, i.e. $\sigma = 2^p$.
sourcefn get_variance(&self) -> f64
fn get_variance(&self) -> f64
Returns the variance of the distribution, i.e. $\sigma^2 = 2^{2p}$.
sourcefn get_log_standard_dev(&self) -> f64
fn get_log_standard_dev(&self) -> f64
Returns base 2 logarithm of the standard deviation of the distribution, i.e. $\log_2(\sigma)=p$ Read more
sourcefn get_modular_standard_dev<Uint>(&self) -> f64 where
Uint: UnsignedInteger,
fn get_modular_standard_dev<Uint>(&self) -> f64 where
Uint: UnsignedInteger,
For a Uint
type representing $\mathbb{Z}/2^q\mathbb{Z}$, we return $2^{q-p}$.
sourcefn get_modular_variance<Uint>(&self) -> f64 where
Uint: UnsignedInteger,
fn get_modular_variance<Uint>(&self) -> f64 where
Uint: UnsignedInteger,
For a Uint
type representing $\mathbb{Z}/2^q\mathbb{Z}$, we return $2^{2(q-p)}$.
sourcefn get_modular_log_standard_dev<Uint>(&self) -> f64 where
Uint: UnsignedInteger,
fn get_modular_log_standard_dev<Uint>(&self) -> f64 where
Uint: UnsignedInteger,
For a Uint
type representing $\mathbb{Z}/2^q\mathbb{Z}$, we return $q-p$.
sourceimpl PartialEq<StandardDev> for StandardDev
impl PartialEq<StandardDev> for StandardDev
sourcefn eq(&self, other: &StandardDev) -> bool
fn eq(&self, other: &StandardDev) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &StandardDev) -> bool
fn ne(&self, other: &StandardDev) -> bool
This method tests for !=
.
sourceimpl PartialOrd<StandardDev> for StandardDev
impl PartialOrd<StandardDev> for StandardDev
sourcefn partial_cmp(&self, other: &StandardDev) -> Option<Ordering>
fn partial_cmp(&self, other: &StandardDev) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for StandardDev
impl StructuralPartialEq for StandardDev
Auto Trait Implementations
impl RefUnwindSafe for StandardDev
impl Send for StandardDev
impl Sync for StandardDev
impl Unpin for StandardDev
impl UnwindSafe for StandardDev
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more