xFunc icon indicating copy to clipboard operation
xFunc copied to clipboard

Introduce simplification rules

Open sys27 opened this issue 5 years ago • 0 comments

Like:

public class /* struct */ AddZeroSimplifier : BaseSimplifier<Add>
{
    public override IExpression Simplify(Add exp)
    {
        var result = AnalyzeBinaryArgument(exp);

        return result switch
        {
            (Number(var number), _) when number == 0
                => exp.Right,
            (_, Number(var number)) when number == 0
                => exp.Left,
            _ => exp,
        };
    }

    public string Name => "Add zero";

    public string Description => "Removes unnecessary zeros from addition."
}

Simplification steps?

sys27 avatar Jun 15 '19 15:06 sys27