private StencilSpeciesArr create(int[] cellsPerProcessor, int[] field, int w, int h) { StencilSpeciesArr result = new StencilSpeciesArr(random, new Arr <int>(field, w, h), cellsPerProcessor, new Mutator[] { new JumpToSameColorMutator() }); Assert.IsTrue(result.IsValid); Assert.IsTrue(result.IsValid); return(result); }
private StencilSpeciesArr create() { StencilSpeciesArr result = new StencilSpeciesArr(random, 10, 10, new int[] { 9, 16, 75 }); Assert.IsTrue(result.IsValid); Assert.IsTrue(result.IsValid); return(result); }
public IterativeSingleIndividualMutator(int w, int h, int processorCount) { this.targetW = w; this.targetH = h; int startW = Math.Min(w, processorCount); int startH = Math.Min(h, processorCount); Individual = (StencilSpeciesArr) new StencilSpeciesArrCreator(new Random(), startW, startH, processorCount).Create(); }
public void CrossoverFillWithEqualGenesTest() { Arr <int> field = new Arr <int>(6); Arr <int> field1 = new Arr <int>(new int[] { 0, 0, 1, 2, 2, 2 }); Arr <int> field2 = new Arr <int>(new int[] { 0, 2, 2, 1, 0, 2 }); int[] cellsPerProcessor = new int[] { 2, 1, 3 }; int count = StencilSpeciesArr.fillWithEqualGenesOrMinusOne(field, field1, field2, cellsPerProcessor); Assert.AreEqual(2, count); AssertEx.AreEqual(new int[] { 0, -1, -1, -1, -1, 2 }, field); AssertEx.AreEqual(new int[] { 1, 1, 2 }, cellsPerProcessor); }
public MainWindow() { InitializeComponent(); int a = 50; StencilSpeciesArr it = new StencilSpeciesArr(new Random(), optimal4Processors(a), equalProcessors(4, a), new Mutator[] { new JumpToSameColorMutator() }); this.Title = "" + it.IsValid + " " + it.Fitness; this.Content = it.PresentableControl; mutator.Individual = it; this.Content = mutator.Individual.PresentableControl; new Thread(new ThreadStart(work)).Start(); DispatcherTimer timer = new DispatcherTimer(new TimeSpan(0, 0, 0, 0, 3000), DispatcherPriority.Background, updateView, Dispatcher.CurrentDispatcher); }
public void UniqueNeighborCountTest() { Assert.AreEqual(0, StencilSpeciesArr.UniqueNeighborCount(new Arr <int>(new int[] { 1, 2, 1, 2, 2, 2, 1, 2, 1 }, 3, 3), 1, 1, 4)); Assert.AreEqual(1, StencilSpeciesArr.UniqueNeighborCount(new Arr <int>(new int[] { 1, 2, 1, 2, 1, 2, 1, 2, 1 }, 3, 3), 1, 1, 4)); }