public override IEnumerator <T> GetEnumerator() { var current = _first; while (true) { yield return(current); current = BinaryOperation <T> .Add(current, _step); } // ReSharper disable once IteratorNeverReturns // by design, user must use Take() }
public override IEnumerator <T> GetEnumerator() { yield return(_one); var previous = _one; var current = _one; while (true) { yield return(current); var newCurrent = BinaryOperation <T> .Add(previous, current); previous = current; current = newCurrent; } }
public override IEnumerator <T> GetEnumerator() { yield return(_one); var previous = _one; var current = _one; while (true) { yield return(current); var newCurrent = BinaryOperation <T> .Add(previous, current); previous = current; current = newCurrent; } // ReSharper disable once IteratorNeverReturns - this is by design }
public void SampleCodeDoesNotThrow() { var a = new Constant(VariableSize.Word, 5); var b = new Variable(VariableSize.Word, true); var c = new Variable(VariableSize.Word, true); var instructions = new ICode[] { new Assignment(b, new Constant(VariableSize.Word, 7)), BinaryOperation.Add(a, b, c), new FunctionCall( "printf", null, new CString("%d + %d = %d\n"), a, b, c ), new Return(new Constant(VariableSize.Word, 123)) }; var function = new Function("add", instructions); }