public void Should_compute_average() { var sut = new MovingAverage(4); sut.ComputeAverage().Should().Be(0); sut.Add(2); sut.ComputeAverage().Should().Be(2); sut.Add(4); sut.ComputeAverage().Should().Be(3); sut.Add(0); sut.ComputeAverage().Should().Be(2); sut.Add(6); sut.ComputeAverage().Should().Be(3); sut.Add(6); sut.ComputeAverage().Should().Be(4); sut.Add(0); sut.Add(0); sut.Add(0); sut.Add(0); sut.ComputeAverage().Should().Be(0); sut.Add(10); sut.Add(10); sut.Add(10); sut.Add(10); sut.ComputeAverage().Should().Be(10); }
public static IList <Movement> FilterMovementForceCollection(IList <Movement> movementCollection, int windowSize = 20) { var movementFilteredCollection = new List <Movement>(); // The windows default size is 20 var movingFilter = new MovingAverage(windowSize); for (int i = 0; i < movementCollection.Count; i++) { var movement = movementCollection[i]; var movementFiltered = new Movement { ID = movement.ID, AnswerRecordID = movement.AnswerRecordID, Index = movement.Index, Time = movement.Time, State = movement.State, TargetElement = movement.TargetElement, XPosition = movement.XPosition, YPosition = movement.YPosition, Force = movingFilter.ComputeAverage(movement.Force) }; movementFilteredCollection.Add(movementFiltered); } return(movementFilteredCollection); }
public static IList <DeviceAccelerationCombined> FilterDeviceAccelerationCombinedCollection(IList <DeviceAccelerationCombined> deviceAccelerationCombinedCollection, int windowSize = 20) { var deviceAccelerationCombinedFilteredCollection = new List <DeviceAccelerationCombined>(); // The windows default size is 20 var movingFilter = new MovingAverage(windowSize); for (int i = 0; i < deviceAccelerationCombinedCollection.Count; i++) { var deviceAccelerationCombined = deviceAccelerationCombinedCollection[i]; var deviceAccelerationCombinedFiltered = new DeviceAccelerationCombined { ID = deviceAccelerationCombined.ID, AnswerRecordID = deviceAccelerationCombined.ID, Index = deviceAccelerationCombined.Index, Time = deviceAccelerationCombined.Time, Acceleration = movingFilter.ComputeAverage(deviceAccelerationCombined.Acceleration) }; deviceAccelerationCombinedFilteredCollection.Add(deviceAccelerationCombinedFiltered); } return(deviceAccelerationCombinedFilteredCollection); }
public string ToString(TimeSpan span) => new string[] { new string[] { Fmt(Counter.FileQueued), Fmt(Counter.FileSkipped), Fmt(Counter.FileRead), Fmt(Counter.Tracking), Fmt(Counter.FileLine), Fmt("ReadTps", GetReadTps(span)), Fmt("TotalOutput", GetTotalOutput()), Fmt("SignalDelta", GetSignalDelta()), }.Join(", "), new string[] { Fmt(Counter.Parser), Fmt(Counter.ParserOut), Fmt(Counter.ParserError), Fmt(Counter.ParserSkip), Fmt(Counter.MsgTypeSkipped), Fmt(Counter.ParserFragment), Fmt("ParseTps", GetParseTps(span)), Fmt("ParseMulti", _parseMultiAvg.ComputeAverage()), }.Join(", "), new string[] { Fmt(Counter.Writing), Fmt(Counter.Write), Fmt(Counter.WriteSkip), Fmt("WriteTps", GetWriteTps(span)), }.Join(", "), new string[] { Fmt(Counter.ToParseIn), Fmt(Counter.ToParseOut), Fmt(Counter.ToSaveIn), Fmt(Counter.ToSaveOut), }.Join(", "), } .Join(Environment.NewLine);