public static bool ValidadeEquation(string text) { if (!text.Any()) { return(true); } //alterei para text.any() também ExpressionContext context = new ExpressionContext(); VariableCollection variables = context.Variables; foreach (IInvariant invariant in InvariantNum.List()) { if (text.Contains(invariant.getCode() + "_G")) { context.Variables[invariant.getCode() + "_G"] = invariant.Calculate(new Graph(new int[0, 0])); } if (text.Contains(invariant.getCode() + "_lG")) { context.Variables[invariant.getCode() + "_lG"] = invariant.Calculate(new Graph(new int[0, 0])); } if (text.Contains(invariant.getCode() + "_cG")) { context.Variables[invariant.getCode() + "_cG"] = invariant.Calculate(new Graph(new int[0, 0])); } } IGenericExpression <bool> e = context.CompileGeneric <bool>(text); return(e.Evaluate()); }
public static bool EvaluateText(string text, Graph g) { if (!text.Any()) { return(true); } //Alterei de text.count() == 0 para text.any() ExpressionContext context = new ExpressionContext(); VariableCollection variables = context.Variables; foreach (IInvariant invariant in InvariantNum.List()) { if (text.Contains(invariant.getCode() + "_G")) { context.Variables[invariant.getCode() + "_G"] = invariant.Calculate(g); } if (text.Contains(invariant.getCode() + "_lG")) { context.Variables[invariant.getCode() + "_lG"] = invariant.Calculate(Operation.Line(g)); } if (text.Contains(invariant.getCode() + "_cG")) { context.Variables[invariant.getCode() + "_cG"] = invariant.Calculate(Operation.Complement(g)); } } IGenericExpression <bool> e = context.CompileGeneric <bool>(text); return(e.Evaluate()); //throw new ExpressionCompileException(); }
private void Form1_Load(object sender, EventArgs e) { progressBar.Minimum = 0; progressBar.Maximum = 1; foreach (IInvariant invariant in InvariantNum.List()) { ListOfInvariants.Text += "\n" + invariant.getCode() + ": " + invariant.getName(); } ListOfInvariants.Text += "\n" + "\n" + "\n"; ListOfInvariants.Text += "--- arguments --- \n Graph G \n Complement of graph: cG \n line graph: lG"; buttonFill.Enabled = false; buttonZoomOriginal.Enabled = false; buttonZoomOut.Enabled = false; buttonZoomIn.Enabled = false; buttonPrint.Enabled = false; buttonExp2PNG.Enabled = false; }
private void showInvariantsCheck_CheckedChanged(object sender, EventArgs e) { if (showInvariantsCheck.Checked == true) { if (listOfG6.Visible == true) { foreach (IInvariant invariant in InvariantNum.List()) { listInvResults.Rows.Add(new string[] { invariant.getName(), invariant.Calculate(new Graph(listOfG6.SelectedItem.ToString())).ToString() }); } listInvResults.Columns[0].ReadOnly = true; listInvResults.Columns[1].ReadOnly = true; listInvResults.Visible = true; } } else { listInvResults.Visible = false; } }