Struct smartnoise_validator::proto::SnappingMechanism [−][src]
SnappingMechanism Component
Privatizes a result by returning it perturbed via the Snapping mechanism. This mechanism is generally intended for non-integer numerical data. Note that snapping may not operate on integers when floating-point protections are enabled. For this situation, use the geometric mechanism instead.
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 snapping_mechanism on the arguments.
Arguments
data
- Array - Result to be released privately via the Snapping mechanism. Array members must be of type float or of type integer.lower
- Array - Estimated minimum possible value of the data. Only useful for the snapping mechanism. This argument is required.upper
- Array - Estimated maximum possible value of the statistic. Only useful for the snapping mechanism. This argument is required.binding_probability
- Array - Upper bound on probability that final clamp binds. Must be within [0, 1).sensitivity
- Array - Override the sensitivity computed by the library. Rejected unlessprotect_sensitivity
is disabled.
Returns
Value
- Array - Original data perturbed via the Snapping mechanism.
Fields
privacy_usage: Vec<PrivacyUsage>
Object describing the type and amount of privacy to be used for the mechanism release.
Trait Implementations
impl Accuracy for SnappingMechanism
[src]
fn accuracy_to_privacy_usage(
&self,
accuracies: &Accuracies,
public_arguments: IndexMap<IndexKey, &Value>
) -> Result<Option<Vec<PrivacyUsage>>>
[src]
&self,
accuracies: &Accuracies,
public_arguments: IndexMap<IndexKey, &Value>
) -> Result<Option<Vec<PrivacyUsage>>>
fn privacy_usage_to_accuracy(
&self,
public_arguments: IndexMap<IndexKey, &Value>,
alpha: f64
) -> Result<Option<Vec<Accuracy>>>
[src]
&self,
public_arguments: IndexMap<IndexKey, &Value>,
alpha: f64
) -> Result<Option<Vec<Accuracy>>>
impl Clone for SnappingMechanism
[src]
fn clone(&self) -> SnappingMechanism
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Component for SnappingMechanism
[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 SnappingMechanism
[src]
impl Default for SnappingMechanism
[src]
fn default() -> SnappingMechanism
[src]
impl Expandable for SnappingMechanism
[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 SnappingMechanism
[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 SnappingMechanism
[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<SnappingMechanism> for SnappingMechanism
[src]
fn eq(&self, other: &SnappingMechanism) -> bool
[src]
fn ne(&self, other: &SnappingMechanism) -> bool
[src]
impl StructuralPartialEq for SnappingMechanism
[src]
Auto Trait Implementations
impl RefUnwindSafe for SnappingMechanism
impl Send for SnappingMechanism
impl Sync for SnappingMechanism
impl Unpin for SnappingMechanism
impl UnwindSafe for SnappingMechanism
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>,