#include "components/variations/variations_seed_simulator.h"
#include <stddef.h>
#include <map>
#include "base/metrics/field_trial.h"
#include "base/metrics/field_trial_list_including_low_anonymity.h"
#include "base/metrics/field_trial_params.h"
#include "base/types/optional_ref.h"
#include "components/variations/client_filterable_state.h"
#include "components/variations/processed_study.h"
#include "components/variations/proto/study.pb.h"
#include "components/variations/study_filtering.h"
#include "components/variations/variations_layers.h"
#include "components/variations/variations_seed_processor.h"
namespace variations {
namespace {
enum ChangeType { … };
std::string SimulateGroupAssignment(
const base::FieldTrial::EntropyProvider& entropy_provider,
const ProcessedStudy& processed_study) { … }
const Study_Experiment* FindExperiment(const Study& study,
const std::string& experiment_name) { … }
bool VariationParamsAreEqual(const Study& study,
const Study_Experiment& experiment) { … }
ChangeType ConvertExperimentTypeToChangeType(Study_Experiment_Type type) { … }
ChangeType PermanentStudyGroupChanged(
const ProcessedStudy& processed_study,
const std::string& selected_group,
const VariationsLayers& layers,
const base::FieldTrial::EntropyProvider& entropy_provider) { … }
ChangeType SessionStudyGroupChanged(const ProcessedStudy& processed_study,
const std::string& selected_group) { … }
}
SeedSimulationResult ComputeDifferences(
const std::vector<ProcessedStudy>& processed_studies,
const VariationsLayers& layers,
const EntropyProviders& entropy_providers) { … }
SeedSimulationResult SimulateSeedStudies(
const VariationsSeed& seed,
const ClientFilterableState& client_state,
const EntropyProviders& entropy_providers) { … }
}