public static ISelectWhereRule <T0, T1, T2> Where <T0, T1, T2>(this ISelectRule rule) where T0 : INode where T1 : INode where T2 : INode { return(rule.Where <T0, T1, T2>(z => true)); }
public static ISelectWhereRule <T0> Where <T0>(this ISelectRule rule, Func <ITypizedNodeArray <T0>, bool> where) where T0 : INode { return(new SelectWhereRule <T0>(rule, selector => { var tna = Typize <T0>(selector.SelectedNodes); if (tna == null) { return null; } tna.SelectResult = selector; return where (tna) ? tna : null; })); }
void SetupRules() { switch (s_rule) { case SelectRuleMode.Elite: selectRule = new EliteSelectRule <Vector2>(); break; case SelectRuleMode.Roulette: selectRule = new RouletteSelectRule <Vector2>(); break; default: selectRule = new EliteSelectRule <Vector2>(); break; } switch (c_rule) { case CrossOverRuleMode.Single: crossOverRule = new SinglePointCrossOverRule <Vector2>(); break; case CrossOverRuleMode.Two: crossOverRule = new TwoPointCrossOverRule <Vector2>(); break; default: crossOverRule = new SinglePointCrossOverRule <Vector2>(); break; } mutationRule = new VectorMutationRuls(); m_rate /= 100; }
public SelectWhereRule(ISelectRule selectRule) { SelectRule = selectRule; }
public static ISelectWhereRule <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Where <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(this ISelectRule rule, Func <ITypizedNodeArray <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>, bool> where) where T0 : INode where T1 : INode where T2 : INode where T3 : INode where T4 : INode where T5 : INode where T6 : INode where T7 : INode where T8 : INode where T9 : INode where T10 : INode where T11 : INode { return(new SelectWhereRule <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(rule, selector => { var tna = Typize <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(selector.SelectedNodes); if (tna == null) { return null; } tna.SelectResult = selector; return where (tna) ? tna : null; })); }
public static ISelectWhereRule <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Where <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(this ISelectRule rule) where T0 : INode where T1 : INode where T2 : INode where T3 : INode where T4 : INode where T5 : INode where T6 : INode where T7 : INode where T8 : INode where T9 : INode where T10 : INode where T11 : INode { return(rule.Where <T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(z => true)); }
public static ISelectWhereRule <T0, T1, T2, T3, T4, T5, T6> Where <T0, T1, T2, T3, T4, T5, T6>(this ISelectRule rule) where T0 : INode where T1 : INode where T2 : INode where T3 : INode where T4 : INode where T5 : INode where T6 : INode { return(rule.Where <T0, T1, T2, T3, T4, T5, T6>(z => true)); }
public static ISelectWhereRule <T0> Where <T0>(this ISelectRule rule) where T0 : INode { return(rule.Where <T0>(z => true)); }