Struct smartnoise_validator::proto::ExponentialMechanism [−][src]
ExponentialMechanism Component
Returns an element from a finite set with probability relative to its utility.
This struct represents an abstract computation. Arguments are provided via the graph. Additional options are set via the fields on this struct. The return is the result of the exponential_mechanism on the arguments.
Arguments
utilities
- Array - Respective scores for each candidate. Total number of records must match candidates.candidates
- Array - Set from which the Exponential mechanism will return an element. Total number of records must match utilities.sensitivity
- Array - Override the sensitivity computed by the library. Rejected unlessprotect_sensitivity
is disabled.
Returns
Value
- Array - Element from the candidate set selected via the Exponential mechanism.
Fields
privacy_usage: Vec<PrivacyUsage>
Object describing the type and amount of privacy to be used for the mechanism release. Length of privacy_usage must be exactly one.
Trait Implementations
impl Clone for ExponentialMechanism
[src]
fn clone(&self) -> ExponentialMechanism
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Component for ExponentialMechanism
[src]
fn propagate_property(
&self,
privacy_definition: &Option<PrivacyDefinition>,
_public_arguments: IndexMap<IndexKey, &Value>,
properties: NodeProperties,
node_id: u32
) -> Result<Warnable<ValueProperties>>
[src]
&self,
privacy_definition: &Option<PrivacyDefinition>,
_public_arguments: IndexMap<IndexKey, &Value>,
properties: NodeProperties,
node_id: u32
) -> Result<Warnable<ValueProperties>>
impl Debug for ExponentialMechanism
[src]
impl Default for ExponentialMechanism
[src]
fn default() -> ExponentialMechanism
[src]
impl Expandable for ExponentialMechanism
[src]
fn expand_component(
&self,
privacy_definition: &Option<PrivacyDefinition>,
component: &Component,
_public_arguments: &IndexMap<IndexKey, &Value>,
properties: &NodeProperties,
component_id: u32,
maximum_id: u32
) -> Result<ComponentExpansion>
[src]
&self,
privacy_definition: &Option<PrivacyDefinition>,
component: &Component,
_public_arguments: &IndexMap<IndexKey, &Value>,
properties: &NodeProperties,
component_id: u32,
maximum_id: u32
) -> Result<ComponentExpansion>
impl Mechanism for ExponentialMechanism
[src]
fn get_privacy_usage(
&self,
privacy_definition: &PrivacyDefinition,
release_usage: Option<&Vec<PrivacyUsage>>,
properties: &NodeProperties
) -> Result<Option<Vec<PrivacyUsage>>>
[src]
&self,
privacy_definition: &PrivacyDefinition,
release_usage: Option<&Vec<PrivacyUsage>>,
properties: &NodeProperties
) -> Result<Option<Vec<PrivacyUsage>>>
impl Message for ExponentialMechanism
[src]
fn encode_raw<B>(&self, buf: &mut B) where
B: BufMut,
[src]
B: BufMut,
fn merge_field<B>(
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
[src]
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
fn encoded_len(&self) -> usize
[src]
fn clear(&mut self)
[src]
pub fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
pub fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
pub fn decode<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]
Self: Default,
B: Buf,
pub fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]
Self: Default,
B: Buf,
pub fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
B: Buf,
pub fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
B: Buf,
impl PartialEq<ExponentialMechanism> for ExponentialMechanism
[src]
fn eq(&self, other: &ExponentialMechanism) -> bool
[src]
fn ne(&self, other: &ExponentialMechanism) -> bool
[src]
impl StructuralPartialEq for ExponentialMechanism
[src]
Auto Trait Implementations
impl RefUnwindSafe for ExponentialMechanism
impl Send for ExponentialMechanism
impl Sync for ExponentialMechanism
impl Unpin for ExponentialMechanism
impl UnwindSafe for ExponentialMechanism
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,