Ejemplo n.º 1
0
 private static void AddNode(Racr.AstNode n)
 {
     Racr.AstNode c = FlipCoin() ? n.GetOp1() : n.GetOp2();
     if (c.IsBudNode())
     {
         c.RewriteSubtree(NewNode());
     }
     else
     {
         AddNode(c);
     }
 }
Ejemplo n.º 2
0
 private static void InitialiseLeafes(Racr.AstNode n, int constants)
 {
     foreach (var c in new Racr.AstNode[] { n.GetOp1(), n.GetOp2() })
     {
         if (!c.IsBudNode())
         {
             InitialiseLeafes(c, constants);
         }
         else if (FlipCoin())
         {
             c.RewriteSubtree(CL.CreateAst("Number", (double)RandomInteger(1, 10)));
         }
         else
         {
             c.RewriteSubtree(CL.CreateAst("Constant", "d" + RandomInteger(0, constants)));
         }
     }
 }
Ejemplo n.º 3
0
 private static double EvalAddExp(Racr.AstNode node)
 {
     return(node.GetOp1().Eval() + node.GetOp2().Eval());
 }