blob: f4dadc49d4717657dd2e789007639badf7ae6b86 [file] [log] [blame]
// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef NET_NQE_WEIGHTED_OBSERVATION_H_
#define NET_NQE_WEIGHTED_OBSERVATION_H_
#include "net/base/net_export.h"
namespace net::nqe::internal {
// Holds an observation and its weight.
struct NET_EXPORT_PRIVATE WeightedObservation {
WeightedObservation(int32_t value, double weight)
: value(value), weight(weight) {}
WeightedObservation(const WeightedObservation& other)
: WeightedObservation(other.value, other.weight) {}
WeightedObservation& operator=(const WeightedObservation& other) = default;
// Required for sorting the samples in the ascending order of values.
bool operator<(const WeightedObservation& other) const {
return (value < other.value);
}
// Value of the sample.
int32_t value;
// Weight of the sample. This is computed based on how much time has passed
// since the sample was taken.
double weight;
};
} // namespace net::nqe::internal
#endif // NET_NQE_WEIGHTED_OBSERVATION_H_