public IEnumerator <IStepContext <float> > GetEnumerator() { StatisticsCalculator <Person, int> stats = new StatisticsCalculator <Person, int>(); StatisticsCalculator <RobotJoint, float> statsCA = new StatisticsCalculator <RobotJoint, float>(); int stepsSoFar = 0; while (steps < 0 || (stepsSoFar++ < steps)) { SimulatorStep step = new SimulatorStep { StatisticsCalculator = stats, ContinuousStatisticsCalculator = statsCA, EventId = Guid.NewGuid().ToString(), Person = GetRandomPerson(), RobotJoint = GetRandomRobotJoint(), SlotCount = this.slots, }; yield return(step); step.RecordContinuousAction(statsCA); step.Record(stats); } }
public void RecordContinuousAction(StatisticsCalculator <RobotJoint, float> statisticsCalculator) { if (this.ContinuousActionCache.HasValue) { statisticsCalculator.Record(this.RobotJoint, this.ContinuousActionCache.Value, this.outcomeCache.Value); Console.WriteLine($" {statisticsCalculator.TotalActions}, ctxt, {this.RobotJoint.Id}, action, {this.ContinuousActionCache.Value}, outcome, {this.outcomeCache.Value}, dist, {this.ActionDistributionString}, {statisticsCalculator.GetStats(this.RobotJoint, this.ContinuousActionCache.Value)}"); } }
public void Record(StatisticsCalculator <Person, int> statisticsCalculator) { if (this.DecisionCache.HasValue) { statisticsCalculator.Record(this.Person, (int)this.DecisionCache.Value, this.outcomeCache.Value); Console.WriteLine($" {statisticsCalculator.TotalActions}, ctxt, {this.Person.Id}, action, {this.DecisionCache.Value}, outcome, {this.outcomeCache.Value}, dist, {this.ActionDistributionString}, {statisticsCalculator.GetStats(this.Person, (int)this.DecisionCache.Value)}"); } }
public IEnumerator <IStepContext <float> > GetEnumerator() { StatisticsCalculator stats = new StatisticsCalculator(); int stepsSoFar = 0; while (steps < 0 || (stepsSoFar++ < steps)) { SimulatorStep step = new SimulatorStep { StatisticsCalculator = stats, EventId = Guid.NewGuid().ToString(), Person = GetRandomPerson() }; yield return(step); step.Record(stats); } }