private float Inheritance(double min, double max, double mode, double noise, Random rand) { //Get noise around inheritance using triangular ditribution double Max = Math.Min(mode + noise, max); double Min = Math.Max(mode - noise, min); BetaScaled Distribution = BetaScaled.PERT(Min, Max, mode, rand); return((float)Distribution.Sample()); }
//Functions for birth private float[] InitialDistributions(SimParams par, float noise, float initial, float max, float min) { float[] DistArray = new float[par.NumBirds]; if (noise != 0) { float Max = Math.Min(initial + noise, max); float Min = Math.Max(initial - noise, min); BetaScaled Dist = BetaScaled.PERT(Min, Max, initial, par.Rand); for (int i = 0; i < par.NumBirds; i++) { DistArray[i] = (float)Dist.Sample(); } } else { DistArray = Enumerable.Repeat(initial, par.NumBirds).ToArray(); } return(DistArray); }
public void CanSample() { var n = new BetaScaled(2.0, 3.0, 0.0, 1.0); n.Sample(); }
public void FailSampleStatic() { Assert.That(() => BetaScaled.Sample(new Random(0), 1.0, -1.0, 0.0, 1.0), Throws.ArgumentException); }
public void CanSampleStatic() { BetaScaled.Sample(new Random(0), 2.0, 3.0, 0.0, 1.0); }