private protected override void CloneCore(State state) { base.CloneCore(state); Contracts.Assert(state is State); var stateLocal = state as State; stateLocal.WindowedBuffer = WindowedBuffer.Clone(); stateLocal.InitialWindowedBuffer = InitialWindowedBuffer.Clone(); }
/// <summary> /// This method implements the basic resetting mechanism for a state object and clears the buffer. /// </summary> public virtual void Reset() { Host.Assert(WindowedBuffer != null); Host.Assert(InitialWindowedBuffer != null); RowCounter = 0; WindowedBuffer.Clear(); InitialWindowedBuffer.Clear(); PreviousPosition = -1; }
private protected override void CloneCore(State state) { base.CloneCore(state); Contracts.Assert(state is State); var stateLocal = state as State; stateLocal.WindowedBuffer = WindowedBuffer.Clone(); stateLocal.InitialWindowedBuffer = InitialWindowedBuffer.Clone(); if (_model != null) { _parentAnomalyDetector.Model = _parentAnomalyDetector.Model.Clone(); _model = _parentAnomalyDetector.Model; } }
public void UpdateStateCore(ref TInput input, bool buffer = true) { if (InitialWindowedBuffer.Count < InitialWindowSize) { InitialWindowedBuffer.AddLast(input); if (InitialWindowedBuffer.Count >= InitialWindowSize - WindowSize && buffer) { WindowedBuffer.AddLast(input); } } else { if (buffer) { WindowedBuffer.AddLast(input); } IncrementRowCounter(); } }
private protected virtual void CloneCore(StateBase state) { state.WindowedBuffer = WindowedBuffer.Clone(); state.InitialWindowedBuffer = InitialWindowedBuffer.Clone(); }