public ElectronicsGenerator(Random rand) { _rand = rand; _isPurchaser = new[] { new DistributionValue<bool>(true, 0.5), new DistributionValue<bool>(false, 1) }; _purchases = new[] { new DistributionValue<ElectronicPurchase>(ElectronicPurchase.Television, 1d/8*1), new DistributionValue<ElectronicPurchase>(ElectronicPurchase.HomeTheatre, 1d/8*2), new DistributionValue<ElectronicPurchase>(ElectronicPurchase.MusicSystem, 1d/8*3), new DistributionValue<ElectronicPurchase>(ElectronicPurchase.Computer, 1d/8*4), new DistributionValue<ElectronicPurchase>(ElectronicPurchase.Dishwasher, 1d/8*5), new DistributionValue<ElectronicPurchase>(ElectronicPurchase.Fridge, 1d/8*6), new DistributionValue<ElectronicPurchase>(ElectronicPurchase.WashingMachine, 1d/8*7), new DistributionValue<ElectronicPurchase>(ElectronicPurchase.VacuumCleaner, 1) }; _numberOfPurchases = new[] { new DistributionValue<int>(1, 0.5), new DistributionValue<int>(2, 0.75), new DistributionValue<int>(3, 0.875), new DistributionValue<int>(4, 0.9375), new DistributionValue<int>(5, 0.96875), new DistributionValue<int>(6, 0.984375), new DistributionValue<int>(7, 0.992188), new DistributionValue<int>(8, 1), }; }
public PropertyGenerator(Random rand) { _rand = rand; _isOwner = new[] { new DistributionValue<bool>(true, 0.5), new DistributionValue<bool>(false, 1) }; _isUpgrade = new[] { new DistributionValue<bool>(true, 0.5), new DistributionValue<bool>(false, 1) }; _upgrades = new[] { new DistributionValue<PropertyUpgrade>(PropertyUpgrade.Kitchen, 1d/6*1), new DistributionValue<PropertyUpgrade>(PropertyUpgrade.Bathroom, 1d/6*2), new DistributionValue<PropertyUpgrade>(PropertyUpgrade.Bedroom, 1d/6*3), new DistributionValue<PropertyUpgrade>(PropertyUpgrade.LivingRoom, 1d/6*4), new DistributionValue<PropertyUpgrade>(PropertyUpgrade.Garden, 1d/6*5), new DistributionValue<PropertyUpgrade>(PropertyUpgrade.Pool, 1), }; _numberOfUpgrades = new[] { new DistributionValue<int>(1, 0.5), new DistributionValue<int>(2, 0.75), new DistributionValue<int>(3, 0.875), new DistributionValue<int>(4, 0.9375), new DistributionValue<int>(5, 0.96875), new DistributionValue<int>(6, 1), }; }
public AddressGenerator(Random rand) { _rand = rand; _countries = new[] { new DistributionValue<string>("New Zealand", 0.01), new DistributionValue<string>("England", 0.03), new DistributionValue<string>("Australia", 1) }; _auStates = new[] { new DistributionValue<string>("NT", 0.01), new DistributionValue<string>("ACT", 0.02), new DistributionValue<string>("TAS", 0.03), new DistributionValue<string>("SA", 0.07), new DistributionValue<string>("WA", 0.12), new DistributionValue<string>("VIC", 0.24), new DistributionValue<string>("NSW", 0.40), new DistributionValue<string>("QLD", 1), }; _unitNumbers = new[] { new DistributionValue<Tuple<int, int>>(Tuple.Create(1, 6), 0.5), new DistributionValue<Tuple<int, int>>(Tuple.Create(7, 12), 0.75), new DistributionValue<Tuple<int, int>>(Tuple.Create(13, 18), 0.9), new DistributionValue<Tuple<int, int>>(Tuple.Create(19, 24), 1) }; }
public GenderGenerator(Random rand) { _rand = rand; _genders = new[] { new DistributionValue<Gender>(Gender.Male, 0.44), new DistributionValue<Gender>(Gender.Female, 1) }; }
private string GetRandomName(DistributionValue<string>[] values) { double rnd = _rand.NextDouble() * values[values.Length - 1].Distribution; for (int i = 0; i < _lastNames.Length; i++) { if (rnd < values[i].Distribution) return values[i].Value; } throw new InvalidOperationException(); }
public AdultGenerator(Random rand) { _rand = rand; _occupations = new[] { new DistributionValue<AdultOccupations>(AdultOccupations.WorkingFullTime, 0.4), new DistributionValue<AdultOccupations>(AdultOccupations.WorkingPartTime, 0.7), new DistributionValue<AdultOccupations>(AdultOccupations.Retired, 0.75), new DistributionValue<AdultOccupations>(AdultOccupations.Unemployed, 0.85), new DistributionValue<AdultOccupations>(AdultOccupations.Student, 1) }; }
public void MergeFrom(MetricValue other) { if (other == null) { return; } labels_.Add(other.labels_); if (other.startTime_ != null) { if (startTime_ == null) { StartTime = new global::Google.Protobuf.WellKnownTypes.Timestamp(); } StartTime.MergeFrom(other.StartTime); } if (other.endTime_ != null) { if (endTime_ == null) { EndTime = new global::Google.Protobuf.WellKnownTypes.Timestamp(); } EndTime.MergeFrom(other.EndTime); } switch (other.ValueCase) { case ValueOneofCase.BoolValue: BoolValue = other.BoolValue; break; case ValueOneofCase.Int64Value: Int64Value = other.Int64Value; break; case ValueOneofCase.DoubleValue: DoubleValue = other.DoubleValue; break; case ValueOneofCase.StringValue: StringValue = other.StringValue; break; case ValueOneofCase.DistributionValue: if (DistributionValue == null) { DistributionValue = new global::Google.Cloud.ServiceControl.V1.Distribution(); } DistributionValue.MergeFrom(other.DistributionValue); break; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); }
public MembershipStatusGenerator(Random rand) { _rand = rand; _status = new[] { new DistributionValue<MembershipStatus>(MembershipStatus.Free, 0.5), new DistributionValue<MembershipStatus>(MembershipStatus.Paying, 1) }; _extras = new[] { new DistributionValue<OptionalExtras>(OptionalExtras.Yes, 0.5), new DistributionValue<OptionalExtras>(OptionalExtras.No, 1) }; }
public double this[int index] { get { if (IsDistribution) { return(DistributionValue.GetResult()[index]); } else { //return ScalarValue; // Temp test code return(vectorOfScalars[index]); } } }
public IncomeGenerator(Random rand) { _rand = rand; _ranges = new[] { new DistributionValue<string>("<25,000", 0.143), new DistributionValue<string>("25,001-40,000", 0.308), new DistributionValue<string>("40,001-55,000", 0.421), new DistributionValue<string>("55,001-70,000", 0.488), new DistributionValue<string>("70,001-85,000", 0.583), new DistributionValue<string>("85,001-100,000", 0.667), new DistributionValue<string>("100,001-120,000", 0.780), new DistributionValue<string>("120,001-140,000", 0.813), new DistributionValue<string>("140,001+", 1) }; }
public HouseholdGenerator(Random rand) { _rand = rand; _adults = new[] { new DistributionValue<int>(1, 0.3), new DistributionValue<int>(2, 0.85), new DistributionValue<int>(3, 0.95), new DistributionValue<int>(3, 1) }; _minors = new[] { new DistributionValue<int>(0, 0.4), new DistributionValue<int>(1, 0.7), new DistributionValue<int>(2, 0.9), new DistributionValue<int>(3, 1) }; }
public static void AddParameter(string parameter, double drawn, DistributionValue distribution, Style style) { lock (parameterLock) { if (!parameterInfoDict.ContainsKey(parameter)) { parameterInfoDict[parameter] = new ParameterInfo(parameter, drawn, distribution, style); parameterStateDict[parameter] = new ParameterState(parameter, parameterInfoDict[parameter]); } } parameterStateDict[parameter] = new ParameterState(parameter, parameterInfoDict[parameter]); // use the old value, not the one from drawn if (parameterInfoDict.ContainsKey(parameter) && parameterInfoDict[parameter].locked) { return; // do not change the old value if locked } ParameterInfo info = new ParameterInfo(parameter, drawn, distribution, style); // use the new value, from drawn ParameterState state = new ParameterState(parameter, info); // update the value parameterInfoDict[parameter] = info; parameterStateDict[parameter] = state; }
public override int GetHashCode() { int hash = 1; hash ^= Labels.GetHashCode(); if (startTime_ != null) { hash ^= StartTime.GetHashCode(); } if (endTime_ != null) { hash ^= EndTime.GetHashCode(); } if (valueCase_ == ValueOneofCase.BoolValue) { hash ^= BoolValue.GetHashCode(); } if (valueCase_ == ValueOneofCase.Int64Value) { hash ^= Int64Value.GetHashCode(); } if (valueCase_ == ValueOneofCase.DoubleValue) { hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(DoubleValue); } if (valueCase_ == ValueOneofCase.StringValue) { hash ^= StringValue.GetHashCode(); } if (valueCase_ == ValueOneofCase.DistributionValue) { hash ^= DistributionValue.GetHashCode(); } hash ^= (int)valueCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return(hash); }
public AgeGenerator(Random rand) { _rand = rand; _femaleAges = new[] { new DistributionValue<Age>(Age.Range1, 0.2), new DistributionValue<Age>(Age.Range2, 0.3), new DistributionValue<Age>(Age.Range3, 0.5), new DistributionValue<Age>(Age.Range4, 0.7), new DistributionValue<Age>(Age.Range5, 0.8), new DistributionValue<Age>(Age.Range6, 1) }; _maleAges = new[] { new DistributionValue<Age>(Age.Range1, 0.2), new DistributionValue<Age>(Age.Range2, 0.3), new DistributionValue<Age>(Age.Range3, 0.5), new DistributionValue<Age>(Age.Range4, 0.7), new DistributionValue<Age>(Age.Range5, 0.8), new DistributionValue<Age>(Age.Range6, 1) }; }
public EmailGenerator(Random rand) { _rand = rand; _auEmails = new[] { new DistributionValue<string>("yahoo.com", 0.15), new DistributionValue<string>("yahoo.com.au", 0.25), new DistributionValue<string>("hotmail.com", 0.5), new DistributionValue<string>("gmail.com", 0.65), new DistributionValue<string>("bigpond.net", 0.75), new DistributionValue<string>("iinet.net.au", 0.85), new DistributionValue<string>("optusnet.net.au", 0.93), new DistributionValue<string>("tpg.com.au", 0.97), new DistributionValue<string>("internode.on.net", 1), }; _otherEmails = new[] { new DistributionValue<string>("yahoo.com", 0.38), new DistributionValue<string>("hotmail.com", 0.76), new DistributionValue<string>("gmail.com", 1), }; }
public ParameterEntry(Symbol symbol, Type type, NumberValue value, DistributionValue distribution) : base(symbol, type, value) { this.distribution = distribution; }
public RandomEntry(Symbol symbol, DistributionValue value) { this.symbol = symbol; this.value = value; }
public void Load(string lastNameFile, string femaleNameFile, string maleNameFile) { _lastNames = ReadFile(lastNameFile); _femaleNames = ReadFile(femaleNameFile); _maleNames = ReadFile(maleNameFile); }
private DistributionValue<string>[] ReadFile(string nameFile) { List<DistributionValue<string>> values = new List<DistributionValue<string>>(); using (TextReader reader = File.OpenText(nameFile)) { string line; while ((line = reader.ReadLine()) != null) { string[] split = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); DistributionValue<string> value = new DistributionValue<string>(split[0], double.Parse(split[2])); values.Add(value); } } return values.ToArray(); }