Esempio n. 1
0
        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()
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
        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
        }
Esempio n. 4
0
        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);
        }