public AstBinaryWindowExpression(AstBinaryWindowOperator @operator, AstExpression arg1, AstExpression arg2, AstWindow window) { _operator = @operator; _arg1 = Ensure.IsNotNull(arg1, nameof(arg1)); _arg2 = Ensure.IsNotNull(arg2, nameof(arg2)); _window = window; }
public static string Render(this AstBinaryWindowOperator @operator) { return(@operator switch { AstBinaryWindowOperator.CovariancePopulation => "$covariancePop", AstBinaryWindowOperator.CovarianceSample => "$covarianceSamp", _ => throw new InvalidOperationException($"Unexpected binary window operator: {@operator}.") });
public AstBinaryWindowExpression Update(AstBinaryWindowOperator @operator, AstExpression arg1, AstExpression arg2, AstWindow window) { if (@operator == _operator && arg1 == _arg1 && arg2 == _arg2 && window == _window) { return(this); } return(new AstBinaryWindowExpression(@operator, arg1, arg2, window)); }