コード例 #1
0
ファイル: CalculatorProfiler.cs プロジェクト: Amocy-Wang/racr
 private static void AddNode(Racr.AstNode n)
 {
     Racr.AstNode c = FlipCoin() ? n.GetOp1() : n.GetOp2();
     if (c.IsBudNode())
     {
         c.RewriteSubtree(NewNode());
     }
     else
     {
         AddNode(c);
     }
 }
コード例 #2
0
ファイル: CalculatorProfiler.cs プロジェクト: Amocy-Wang/racr
 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)));
         }
     }
 }
コード例 #3
0
ファイル: CalculatorProfiler.cs プロジェクト: Amocy-Wang/racr
 private static double EvalAddExp(Racr.AstNode node)
 {
     return(node.GetOp1().Eval() + node.GetOp2().Eval());
 }