public override void Execute(AbstractMachineState state) { AMProgram program = (AMProgram)state.Program; AbstractTerm X0 = ((AbstractTerm)state["X0"]).Dereference(); AbstractTerm X1 = ((AbstractTerm)state["X1"]).Dereference(); if (TermEvaluator.Evaluate(X0) == TermEvaluator.Evaluate(X1)) { program.Next(); } else { state.Backtrack(); } }
public override void Execute(AbstractMachineState state) { AMProgram program = (AMProgram)state.Program; AbstractTerm X0 = ((AbstractTerm)state["X0"]).Dereference(); AbstractTerm X1 = ((AbstractTerm)state["X1"]).Dereference(); if (X0.Unify(new ConstantTerm(TermEvaluator.Evaluate(X1).ToString()))) { program.Next(); } else { state.Backtrack(); } }
public void eval(AbstractTerm term, double expected) { Assert.AreEqual(expected, TermEvaluator.Evaluate(term)); }