#include "components/variations/entropy_provider.h"
#include <algorithm>
#include <limits>
#include <string_view>
#include "base/check_op.h"
#include "base/containers/span.h"
#include "base/hash/sha1.h"
#include "base/numerics/byte_conversions.h"
#include "base/rand_util.h"
#include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h"
#include "components/variations/variations_murmur_hash.h"
namespace variations {
SHA1EntropyProvider::SHA1EntropyProvider(std::string_view entropy_source)
: … { … }
SHA1EntropyProvider::~SHA1EntropyProvider() = default;
double SHA1EntropyProvider::GetEntropyForTrial(
std::string_view trial_name,
uint32_t randomization_seed) const { … }
NormalizedMurmurHashEntropyProvider::NormalizedMurmurHashEntropyProvider(
ValueInRange entropy_value)
: … { … }
NormalizedMurmurHashEntropyProvider::~NormalizedMurmurHashEntropyProvider() { … }
double NormalizedMurmurHashEntropyProvider::GetEntropyForTrial(
std::string_view trial_name,
uint32_t randomization_seed) const { … }
SessionEntropyProvider::~SessionEntropyProvider() = default;
double SessionEntropyProvider::GetEntropyForTrial(
std::string_view trial_name,
uint32_t randomization_seed) const { … }
EntropyProviders::EntropyProviders(std::string_view high_entropy_value,
ValueInRange low_entropy_value,
std::string_view limited_entropy_value,
bool enable_benchmarking)
: … { … }
EntropyProviders::~EntropyProviders() = default;
const base::FieldTrial::EntropyProvider& EntropyProviders::default_entropy()
const { … }
const base::FieldTrial::EntropyProvider& EntropyProviders::low_entropy() const { … }
const base::FieldTrial::EntropyProvider& EntropyProviders::session_entropy()
const { … }
const base::FieldTrial::EntropyProvider& EntropyProviders::limited_entropy()
const { … }
}