Function opendp::transformations::make_bounded_float_ordered_sum
source · pub fn make_bounded_float_ordered_sum<S>(
size_limit: usize,
bounds: (S::Item, S::Item)
) -> Fallible<Transformation<VectorDomain<AtomDomain<S::Item>>, AtomDomain<S::Item>, InsertDeleteDistance, AbsoluteDistance<S::Item>>>where
S: SaturatingSum,
S::Item: 'static + Float,
Expand description
Make a Transformation that computes the sum of bounded floats with known ordering.
Only useful when make_bounded_float_checked_sum
returns an error due to potential for overflow.
You may need to use make_ordered_random
to impose an ordering on the data.
The utility loss from overestimating the size_limit
is small.
S (summation algorithm) | input type |
---|---|
Sequential<S::Item> | Vec<S::Item> |
Pairwise<S::Item> | Vec<S::Item> |
S::Item
is the type of all of the following:
each bound, each element in the input data, the output data, and the output sensitivity.
For example, to construct a transformation that pairwise-sums f32
half-precision floats,
set S
to Pairwise<f32>
.
Citations
- CSVW22 Widespread Underestimation of Sensitivity…
- DMNS06 Calibrating Noise to Sensitivity in Private Data Analysis
Arguments
size_limit
- Upper bound on the number of records in input data. Used to bound sensitivity.bounds
- Tuple of lower and upper bounds for data in the input domain.
Generics
S
- Summation algorithm to use over some data typeT
(T
is shorthand forS::Item
)