public bool Step() { if (CurrentStep >= StepsCount) { return(false); } var CurrentValue = TapeState[TapePointer]; if (CurrentValue == 1) { TapeState[TapePointer] = CurrentState.OneAction.Write; if (CurrentState.OneAction.Move == Move.left) { TapeState.Insert(0, 0); } else { if (TapeState.Count == (TapePointer + 1)) { TapeState.Add(0); } TapePointer++; } CurrentState = CurrentState.OneAction.NextState; } else { TapeState[TapePointer] = CurrentState.ZeroAction.Write; if (CurrentState.ZeroAction.Move == Move.left) { TapeState.Insert(0, 0); } else { if (TapeState.Count == (TapePointer + 1)) { TapeState.Add(0); } TapePointer++; } CurrentState = CurrentState.ZeroAction.NextState; } return(true); }
public GetBucketCapacitySummarySpectraS3Request WithTapeState(TapeState? tapeState) { this._tapeState = tapeState; if (tapeState != null) { this.QueryParams.Add("tape_state", tapeState.ToString()); } else { this.QueryParams.Remove("tape_state"); } return this; }
public ModifyTapeSpectraS3Request WithState(TapeState? state) { this._state = state; if (state != null) { this.QueryParams.Add("state", state.ToString()); } else { this.QueryParams.Remove("state"); } return this; }
public GetTapesSpectraS3Request WithPreviousState(TapeState? previousState) { this._previousState = previousState; if (previousState != null) { this.QueryParams.Add("previous_state", previousState.ToString()); } else { this.QueryParams.Remove("previous_state"); } return this; }
public int GetChecksum() { return(TapeState.Select(a => a == 1).Count()); }