Struct smartnoise_runtime::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, Global>
Object describing the type and amount of privacy to be used for the mechanism release.
Trait Implementations
impl Accuracy for SnappingMechanism
[src]
pub fn accuracy_to_privacy_usage(
&self,
accuracies: &Accuracies,
public_arguments: IndexMap<IndexKey, &Value, RandomState>
) -> Result<Option<Vec<PrivacyUsage, Global>>, Error>
[src]
&self,
accuracies: &Accuracies,
public_arguments: IndexMap<IndexKey, &Value, RandomState>
) -> Result<Option<Vec<PrivacyUsage, Global>>, Error>
pub fn privacy_usage_to_accuracy(
&self,
public_arguments: IndexMap<IndexKey, &Value, RandomState>,
alpha: f64
) -> Result<Option<Vec<Accuracy, Global>>, Error>
[src]
&self,
public_arguments: IndexMap<IndexKey, &Value, RandomState>,
alpha: f64
) -> Result<Option<Vec<Accuracy, Global>>, Error>
impl Clone for SnappingMechanism
[src]
pub fn clone(&self) -> SnappingMechanism
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Component for SnappingMechanism
[src]
pub fn propagate_property(
&self,
privacy_definition: &Option<PrivacyDefinition>,
_public_arguments: IndexMap<IndexKey, &Value, RandomState>,
properties: IndexMap<IndexKey, ValueProperties, RandomState>,
_node_id: u32
) -> Result<Warnable<ValueProperties>, Error>
[src]
&self,
privacy_definition: &Option<PrivacyDefinition>,
_public_arguments: IndexMap<IndexKey, &Value, RandomState>,
properties: IndexMap<IndexKey, ValueProperties, RandomState>,
_node_id: u32
) -> Result<Warnable<ValueProperties>, Error>
impl Debug for SnappingMechanism
[src]
impl Default for SnappingMechanism
[src]
pub fn default() -> SnappingMechanism
[src]
impl Evaluable for SnappingMechanism
[src]
fn evaluate(
&self,
privacy_definition: &Option<PrivacyDefinition>,
arguments: NodeArguments
) -> Result<ReleaseNode>
[src]
&self,
privacy_definition: &Option<PrivacyDefinition>,
arguments: NodeArguments
) -> Result<ReleaseNode>
impl Expandable for SnappingMechanism
[src]
pub fn expand_component(
&self,
privacy_definition: &Option<PrivacyDefinition>,
component: &Component,
_public_arguments: &IndexMap<IndexKey, &Value, RandomState>,
properties: &IndexMap<IndexKey, ValueProperties, RandomState>,
component_id: u32,
maximum_id: u32
) -> Result<ComponentExpansion, Error>
[src]
&self,
privacy_definition: &Option<PrivacyDefinition>,
component: &Component,
_public_arguments: &IndexMap<IndexKey, &Value, RandomState>,
properties: &IndexMap<IndexKey, ValueProperties, RandomState>,
component_id: u32,
maximum_id: u32
) -> Result<ComponentExpansion, Error>
impl Mechanism for SnappingMechanism
[src]
pub fn get_privacy_usage(
&self,
privacy_definition: &PrivacyDefinition,
release_usage: Option<&Vec<PrivacyUsage, Global>>,
properties: &IndexMap<IndexKey, ValueProperties, RandomState>
) -> Result<Option<Vec<PrivacyUsage, Global>>, Error>
[src]
&self,
privacy_definition: &PrivacyDefinition,
release_usage: Option<&Vec<PrivacyUsage, Global>>,
properties: &IndexMap<IndexKey, ValueProperties, RandomState>
) -> Result<Option<Vec<PrivacyUsage, Global>>, Error>
impl Message for SnappingMechanism
[src]
pub fn encode_raw<B>(&self, buf: &mut B) where
B: BufMut,
[src]
B: BufMut,
pub 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,
pub fn encoded_len(&self) -> usize
[src]
pub 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]
pub fn eq(&self, other: &SnappingMechanism) -> bool
[src]
pub 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> Az for T
[src]
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> CheckedAs for T
[src]
pub fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
[src]
T: CheckedCast<Dst>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> OverflowingAs for T
[src]
pub fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
[src]
T: OverflowingCast<Dst>,
impl<T> SaturatingAs for T
[src]
pub fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
[src]
T: SaturatingCast<Dst>,
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<T> UnwrappedAs for T
[src]
pub fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
[src]
T: UnwrappedCast<Dst>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,
impl<T> WrappingAs for T
[src]
pub fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
[src]
T: WrappingCast<Dst>,