Skip to contents

Make a Transformation that computes the sum of bounded data with known dataset size.

Usage

make_bounded_float_checked_sum(size_limit, bounds, .S = "Pairwise<.T>")

Arguments

size_limit

Upper bound on number of records to keep in the input data.

bounds

Tuple of lower and upper bounds for data in the input domain.

.S

Summation algorithm to use over some data type T (T is shorthand for S::Item)

Value

Transformation

Details

This uses a restricted-sensitivity proof that takes advantage of known dataset size for better utility. Use make_clamp to bound data and make_resize to establish dataset size.

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>.

Required features: contrib

make_bounded_float_checked_sum in Rust documentation.

Citations:

Supporting Elements:

  • Input Domain: VectorDomain<AtomDomain<S::Item>>

  • Output Domain: AtomDomain<S::Item>

  • Input Metric: SymmetricDistance

  • Output Metric: AbsoluteDistance<S::Item>