public void Randomize() { var ruleSpace = ruleSpaceDesc.Create(stateCount); code = ruleSpace.GenerateRandomCodeString(); convertedCode = ruleSpace.GetFullCode(code); if (setToRuleSpace) { SetToRuleSpace(); } }
public void Analyze2() { using (var measureTime = new MeasureTime()) { var count = transform.childCount; var ruleSpace = ruleSpaceDesc.Create(stateCount); var packer = new Packer(stateCount); var p = Enumerable.Range(0, count) .Select(_ => ruleSpace.GenerateRandomTable()) .ToArray() .AsParallel() .Select(table => new Rule(packer, ruleSpace.GetFullTable(table), 2)) .Select(rule => new Emulator(rule, timeSize, spaceSize, startFill, borderFill, new Random(seed))) .Select(emulator => emulator.EmulateInPlace()) .ToArray(); } }
public void RandomizeRules() { var ruleSpace = ruleSpaceDesc.Create(stateCount); var packer = new Packer(stateCount); rules = Enumerable.Range(0, parallelRules) .Select(_ => new Rule(packer, ruleSpace.GenerateRandomFullTable(), EmulateComputeShader.tablePackN)) .ToArray(); rules[0] = new Rule(packer, new TotalisticRuleSpace { stateCount = stateCount }.GetFullTable(1815), EmulateComputeShader.tablePackN); }