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

Reduce() public method

public Reduce ( ) : Expression
return System.Linq.Expressions.Expression
        public override Expression Reduce() {
            Contract.Ensures(Contract.Result<Expression>() != null);

            if (Components.All(x => x.IsMemoryLocationOrConstant()))
                return CreateExpression(Components);

            return new BlockExpressionBuilder().AddUsingMemoryLocationsOrConstants(
                x => new[] { CreateExpression(x) },
                Components.ToArray()
            ).GetExpression();
        }