Exemple #1
0
        public static async Task <NodeArray> UpdateFred(this NodeArray nodeArray, double cpl, double noise, Random randy)
        {
            NodeArray result = nodeArray;
            await Task.Run(() => { result = NodeArray.UpdateStar(nodeArray, cpl, noise, randy); });

            return(result);
        }
Exemple #2
0
        public static IEnumerable <P2V <int, float> > DataToP2Vs(this NodeArray nodeArray, Sz2 <int> bounds)
        {
            var index = 0;

            for (var x = 0; x < bounds.X; x++)
            {
                for (var y = 0; y < bounds.X; y++)
                {
                    yield return(new P2V <int, float>(x, y, (float)nodeArray.Current[index++]));
                }
            }
        }
Exemple #3
0
        public static NodeArray UpdateStar(NodeArray nodeArray, double cpl, double noise, Random randy)
        {
            var input  = nodeArray.InputArray;
            var output = nodeArray.OutputArray;

            nodeArray._generation++;

            var chunkCount = 8;

            Parallel.For((long)0, chunkCount, i => nodeArray.ProcStretch2d(
                             curChunk: (int)i,
                             chunkCount: chunkCount,
                             input: input,
                             output: output,
                             cpl: cpl,
                             noiseLevel: noise,
                             randy: randy));

            nodeArray.InputArray = output;
            return(nodeArray);
        }