public static void Combine_Test(PocketRoot root) { root.Process(Node.VarS, (node, i) => (number)Math.Cos(i)); root.Process(Node.VarB, (node, i) => (number)Math.Sin(i)); root.Process(Node.VarHold, (node, i) => (number)Math.Tan(i)); number h_vs_s = Tests.Simulation(Node.VarHold, Node.VarS, root); number h_vs_b = Tests.Simulation(Node.VarHold, Node.VarB, root); root.CombineStrats((number).5, (number).5); //root.NaiveCombine(Node.VarS, .5, Node.VarB, .5, Node.VarS); number h_vs_mix = Tests.Simulation(Node.VarHold, Node.VarS, root); Tools.LogPrint("vs s = {0}", h_vs_s); Tools.LogPrint("vs b = {0}", h_vs_b); Tools.LogPrint("vs mix = {0}", h_vs_mix); Tools.LogPrint("should = {0}", (number).5 * (h_vs_s + h_vs_b)); }