Vertesaur.Generation.Expressions.SquaredMagnitudeExpression.CreateExpression C# (CSharp) Method

CreateExpression() private method

private CreateExpression ( Expression inputs ) : Expression
inputs System.Linq.Expressions.Expression
return System.Linq.Expressions.Expression
        private Expression CreateExpression(Expression[] inputs) {
            Contract.Requires(null != inputs);
            Contract.Requires(inputs.Length > 0);
            Contract.Requires(Contract.ForAll(inputs, x => x != null));
            Contract.Ensures(Contract.Result<Expression>() != null);

            var gen = ReductionExpressionGenerator;
            var result = gen.GenerateOrThrow("SQUARE", inputs[0]);
            for (int i = 1; i < inputs.Length; i++) {
                result = gen.GenerateOrThrow("ADD", result, gen.GenerateOrThrow("SQUARE", inputs[i]));
            }
            return result;
        }