blob: 9a2fe3390f20caea3a26934170a2f6af5a698efc [file] [log] [blame]
//
// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Serialization of privacy loss distributions.
syntax = "proto2";
package differential_privacy.accounting.serialization;
// An "unpacked" representation of a probability distribution over real numbers.
// values[i] = p means that the probability mass at (min_key + i) *
// discretization_interval is equal to p. The probability mass at infinity is
// infinity_mass.
message ProbabilityMassFunction {
optional int32 min_key = 1;
repeated double values = 2;
optional double infinity_mass = 3;
optional double discretization_interval = 4 [default = 1e-4];
}
message PrivacyLossDistribution {
// Assumed to be a pessimistic estimate of the privacy loss distribution.
optional ProbabilityMassFunction pessimistic_pmf = 1;
}