Ejemplo n.º 1
0
        static List <GameObject> CreateGameObjects()
        {
            var random      = new TRandom();
            var gameObjects = new List <GameObject>();

            var floor = new GameObject();

            floor.Mesh = Primitives.CreatePlane();
            floor.Transform.Scale.X = 100;
            floor.Transform.Scale.Z = 100;
            gameObjects.Add(floor);

            _playerGO = new GameObject();
            _playerGO.Transform.Position.Y = 2;

            for (int i = 0; i < 1000; i++)
            {
                var newObstacleGO = new GameObject();
                newObstacleGO.Mesh = Primitives.CreateCube36();
                newObstacleGO.Transform.Position.X = (float)random.NextDouble(-100, 100);
                newObstacleGO.Transform.Position.Z = (float)random.NextDouble(-100, 100);
                newObstacleGO.Transform.Position.Y = (float)random.NextDouble(1, 10);
                newObstacleGO.Transform.Scale.X    = (float)random.NextDouble(0.1f, 3);
                newObstacleGO.Transform.Scale.Y    = (float)random.NextDouble(0.1f, 3);
                newObstacleGO.Transform.Scale.Z    = (float)random.NextDouble(0.1f, 3);
                newObstacleGO.Transform.Rotation.X = (float)random.NextDouble(0, 360);
                newObstacleGO.Transform.Rotation.Y = (float)random.NextDouble(0, 360);
                newObstacleGO.Transform.Rotation.Z = (float)random.NextDouble(0, 360);
                gameObjects.Add(newObstacleGO);
            }


            return(gameObjects);
        }
Ejemplo n.º 2
0
        private static IEnumerable <Order> GenerateRandom(
            int orderCount,
            string baseCurrency,
            string quoteCurrency,
            double minPrice,
            double maxPrice)
        {
            var price  = new TRandom();
            var amount = new TRandom();

            for (var i = 0; i < orderCount; i++)
            {
                yield return(new Order(
                                 new CurrencyPair(baseCurrency, quoteCurrency),
                                 Side.Buy,
                                 decimal.Round((decimal)price.NextDouble(minPrice, maxPrice), 4),
                                 amount.Next(1, 100)));

                yield return(new Order(
                                 new CurrencyPair(baseCurrency, quoteCurrency),
                                 Side.Sell,
                                 decimal.Round((decimal)price.NextDouble(minPrice, maxPrice), 4),
                                 amount.Next(1, 100)));
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Generates given number of packages in the path. Wipes the target path
        /// </summary>
        /// <param name="count"></param>
        public void CreatePackages(int count, int maxFiles, int maxFileSize, string path)
        {
            if (Directory.Exists(path))
            {
                Directory.Delete(path, true);
            }

            Directory.CreateDirectory(path);
            List <string> packages = new List <string>();

            TRandom random = new TRandom();

            for (int i = 0; i < count; i++)
            {
                List <PackageCreateItem> files = new List <PackageCreateItem>();
                int filesToAdd = random.Next(0, maxFiles);
                for (int j = 0; j < filesToAdd; j++)
                {
                    byte[] buffer = new byte[maxFileSize];
                    random.NextBytes(buffer);
                    Stream file = new MemoryStream(buffer);
                    files.Add(new PackageCreateItem(file, $"folder{Guid.NewGuid()}/{Guid.NewGuid()}"));
                }
                PackageCreateArguments package = new PackageCreateArguments {
                    Id    = Guid.NewGuid().ToString(),
                    Files = files
                };
                _packageServices.CreatePackage(package);
                Console.WriteLine($"Generated package {package.Id}");
            }
        }
Ejemplo n.º 4
0
 public MonteKarlo(List <double> lambdas, int Count)
 {
     this.lambdas      = lambdas;
     this.Count        = Count;
     random            = new TRandom();
     MeanTimeToFailure = MTF();
 }
Ejemplo n.º 5
0
        public RequestEnvelope GetRequestEnvelope(Request[] customRequests, bool firstRequest = false)
        {
            TRandom TRandomDevice = new TRandom();
            var     e             = new RequestEnvelope
            {
                StatusCode = 2,                                                            //1
                RequestId  = 1469378659230941192,                                          //3
                Requests   = { customRequests },                                           //4
                //Unknown6 = , //6
                Latitude               = _latitude,                                        //7
                Longitude              = _longitude,                                       //8
                Accuracy               = _altitude,                                        //9
                AuthTicket             = _authTicket,                                      //11
                MsSinceLastLocationfix = (long)TRandomDevice.Triangular(300, 30000, 10000) //12
            };

            if (_authTicket != null && !firstRequest)
            {
                e.AuthTicket = _authTicket;
                e.PlatformRequests.Add(GenerateSignature(customRequests));
            }
            else
            {
                e.AuthInfo = new RequestEnvelope.Types.AuthInfo
                {
                    Provider = _authType == AuthType.Google ? "google" : "ptc",
                    Token    = new RequestEnvelope.Types.AuthInfo.Types.JWT
                    {
                        Contents = _authToken,
                        Unknown2 = _token2
                    }
                };
            }
            return(e);
        }
Ejemplo n.º 6
0
        //creating first population
        public double[][] CreateInitialPopulation(int GenerationSize, Parameters parameters)
        {
            //getting random values to fill population matrix
            TRandom rnd = new TRandom();
            double[][] NewPopulation = new double[parameters.NumberOfVertices][];

            for (int i = 0; i < parameters.NumberOfVertices; i++)
            {
                NewPopulation[i] = new double[GenerationSize];
            }

            //creating units and calculating fitness of each group
            for (int k = 0; k < GenerationSize; k++)
            {
                var NewGroup = CreateGroup(parameters.NumberOfVertices);

                for (int j = 0; j < NewGroup.Length; j++)
                {
                    NewPopulation[j][k] = NewGroup[j];
                }

                var FitnessScore = CalculateFitness(NewGroup, parameters);
                parameters.FitnessArray[k] = FitnessScore[0];
                parameters.FitnessGroup1[k] = FitnessScore[1];
                parameters.FitnessGroup2[k] = FitnessScore[2];
                parameters.FitnessGroup3[k] = FitnessScore[3];

            }

            return NewPopulation;
        }
Ejemplo n.º 7
0
        public RandomnessTexture(GraphicsState graphics)
        {
            const int size = 2048;

            var rf = graphics.Device.ResourceFactory;

            Texture = rf.CreateTexture(new TextureDescription(size, size, 1, 1, 1, PixelFormat.R32_G32_B32_A32_Float,
                                                              TextureUsage.Sampled, TextureType.Texture2D));
            Sampler = rf.CreateSampler(new SamplerDescription(SamplerAddressMode.Wrap, SamplerAddressMode.Wrap,
                                                              SamplerAddressMode.Wrap, SamplerFilter.MinPoint_MagPoint_MipPoint, null, 0, 0, 0, 0,
                                                              SamplerBorderColor.TransparentBlack));
            ResourceLayout = rf.CreateResourceLayout(new ResourceLayoutDescription(
                                                         new ResourceLayoutElementDescription(nameof(Texture), ResourceKind.TextureReadOnly,
                                                                                              ShaderStages.Compute | ShaderStages.Fragment | ShaderStages.Vertex),
                                                         new ResourceLayoutElementDescription(nameof(Sampler), ResourceKind.Sampler,
                                                                                              ShaderStages.Compute | ShaderStages.Fragment | ShaderStages.Vertex)
                                                         ));
            ResourceSet = rf.CreateResourceSet(new ResourceSetDescription(ResourceLayout, Texture, Sampler));

            var random  = new TRandom(42);
            var texture = new RgbaFloat[size * size];

            for (var i = 0; i < size * size; i++)
            {
                var vec = Vector2.Normalize(new Vector2((float)random.Normal(0, 1), (float)random.Normal(0, 1)))
                          * (float)random.NextDouble().Squared().Squared().Squared() * 2;
                texture[i] = new RgbaFloat(
                    vec.X, vec.Y, (float)random.NextDouble(), (float)random.NextDouble()
                    );
            }

            graphics.Device.UpdateTexture(Texture, texture, 0, 0, 0, size, size, 1, 0, 0);
        }
Ejemplo n.º 8
0
 public GeneticAlgorithm()
 {
     CanSelfReproduce   = true;
     Random             = new TRandom();
     Config             = new GeneticAlgorithmConfig();
     Config.RandOptions = new RandomizerOptions(-1, 1);
 }
Ejemplo n.º 9
0
        /// <summary>
        /// Turns Vector around random axis;
        /// </summary>
        /// <param name="angle">Turn angle measured in radians</param>
        public void Turn(double angle, TRandom random)
        {
            Vector temp = Turn(this, angle, random);

            this.x = temp.x;
            this.y = temp.y;
            this.z = temp.z;
        }
Ejemplo n.º 10
0
        public static Permutation CreateRandomly(int n, TRandom random)
        {
            var permutation = new Permutation(n, false);
            var array       = permutation.ToArray();

            array.AsSpan().Scramble(random);
            return(new Permutation(array, permutation.IsCircular));
        }
Ejemplo n.º 11
0
        public static async Task <AccountCreationResult> Create(AccountCreationOptions options)
        {
            var random = new TRandom();
            var client = new RestClient {
                Proxy = options.Proxy
            };

            var page = client.Execute(new RestRequest("https://club.pokemon.com/us/pokemon-trainer-club/sign-up/",
                                                      Method.GET));

            var csrf = string.Empty;

            // Get CSRF
            var match =
                new Regex("<input type='hidden' name='csrfmiddlewaretoken' value='(\\w+)' />").Match(page.Content);

            if (match.Success)
            {
                csrf = match.Groups[1].Value;
            }

            client.Execute(new RestRequest("https://club.pokemon.com/us/pokemon-trainer-club/sign-up/", Method.POST)
                           .AddParameter("csrfmiddlewaretoken", csrf)
                           .AddParameter("dob", options.Dob)
                           .AddParameter("country", "US")
                           .AddParameter("country", "US")
                           .AddParameter("picker__year", options.Dob.Split('-')[0])
                           .AddParameter("picker__month", options.Dob.Split('-')[1]));

            await Task.Delay(random.Next(2000, 3000));

            var user = client.Execute <VerifyUsernameResponse>(new RestRequest("https://club.pokemon.com/api/signup/" +
                                                                               "verify-username", Method.POST)
                                                               .AddJsonBody(new { name = options.Username })
                                                               .AddHeader("X-CSRFToken", csrf));

            // If username is in use, switch to a random suggestion from PTC
            if (user.Data.InUse)
            {
                options.Username = random.Choice(user.Data.Suggestions);
            }

            var captcha = options.CaptchaService.Solve();

            await Task.Delay(random.Next(1500, 2500));

            var res = client.Execute(new RestRequest("https://club.pokemon.com/us/pokemon-trainer-club/sign-up/", Method
                                                     .POST)
                                     .AddParameter("csrfmiddlewaretoken", csrf)
                                     .AddParameter("username", options.Username));

            return(new AccountCreationResult
            {
                Successful = res.StatusCode == HttpStatusCode.Found,
                Username = options.Username,
                Password = options.Password
            });
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Generates random normalized vector;
        /// </summary>
        /// <returns>Generated vector;</returns>
        public static Vector Create(TRandom random)
        {
            double fi  = random.NextDouble() * Math.PI * 2;
            double fi1 = random.NextDouble() * Math.PI * 2;

            Vector retval = new Vector(Math.Cos(fi) * Math.Cos(fi1), Math.Sin(fi) * Math.Cos(fi1), Math.Sin(fi1));

            return(retval);
        }
Ejemplo n.º 13
0
        private void FlushRandomizer(TRandom randomizer)
        {
            int NumClears = 4;

            for (int i = 0; i < NumClears; i++)
            {
                randomizer.Next();
            }
        }
Ejemplo n.º 14
0
        /*
         * Mutations
         */
        public static Permutation SwapMutation(Permutation permutation, TRandom random)
        {
            var array = permutation.ToArray();

            permutation.GetRandomIndexPair(random, out var a, out var b);

            array.AsSpan().Swap(a, b);
            return(new Permutation(array, permutation.IsCircular));
        }
Ejemplo n.º 15
0
        public static Permutation InversionMutation(Permutation permutation, TRandom random)
        {
            var array = permutation.ToArray();

            permutation.GetRandomIndexPair(random, out var a, out var b);

            array.AsSpan(a, b - a).Reverse();
            return(new Permutation(array, permutation.IsCircular));
        }
Ejemplo n.º 16
0
        public DateTime GetRandomDate(DateTime minimum, DateTime maximum, TRandom randomizer)
        {
            var rangeAsTimeSpan            = maximum - minimum;
            var rangeInDays                = rangeAsTimeSpan.Days;
            var randomNumberOfDaysSinceMin = randomizer.Next(rangeInDays);
            var randomDate = minimum.AddDays(randomNumberOfDaysSinceMin);

            return(randomDate);
        }
Ejemplo n.º 17
0
        public Octave(int seed, double frequency, double amplitude)
        {
            var random = new TRandom(seed);

              for (int i = 0; i < 32768; i++)
            {
              _data[i] = random.Rnd1() * amplitude;
            }
              _frequency = frequency;
        }
Ejemplo n.º 18
0
        public static void Scramble(this Span <int> span, TRandom random)
        {
            var n = span.Length;

            for (int i = 0; i < n - 1; i++)
            {
                var j = random.Next(i + 1, n);
                span.Swap(i, j);
            }
        }
Ejemplo n.º 19
0
 public void Next_MaxExclusive()
 {
     for (var i = 0; i < 1000; i++)
     {
         if (TRandom.Next(MaxLimitInt) >= MaxLimitInt)
         {
             Assert.Fail("Exclusive maximum limit was one of the random results");
         }
     }
 }
Ejemplo n.º 20
0
        public async Task <RequestEnvelope> GetRequestEnvelope(Request[] customRequests, bool firstRequest = false)
        {
            TRandom TRandomDevice = new TRandom();

            var _requestEnvelope = new RequestEnvelope
            {
                StatusCode             = 2,                                                //1
                RequestId              = _requestBuilderID.Next(),                         // GetNextRequestId(), //3
                Requests               = { customRequests },                               //4
                Latitude               = _latitude,                                        //7
                Longitude              = _longitude,                                       //8
                Accuracy               = _altitude,                                        //9
                AuthTicket             = _authTicket,                                      //11
                MsSinceLastLocationfix = (long)TRandomDevice.Triangular(300, 30000, 10000) //12
            };

            // This is new code for 0.53 below
            // Note by Logxn: We do need this for ALL requests and before the main requests.
            // TODO: We need more information about when in needed UnknownPrt8
            // Charles says only sent for these 2 RequestTypes
            if (customRequests[0].RequestType == RequestType.GetPlayer || (customRequests[0].RequestType == RequestType.GetMapObjects && !GMOFirstTime))
            {
                _requestEnvelope.PlatformRequests.Add(new RequestEnvelope.Types.PlatformRequest {
                    Type           = PlatformRequestType.UnknownPtr8,
                    RequestMessage = ByteString.CopyFromUtf8(Resources.UnknownPtr8_RequestMessage)  //ByteString.CopyFrom("e40c3e64817d9c96d99d28f6488a2efc40b11046")
                });
            }

            if (customRequests[0].RequestType == RequestType.GetMapObjects && GMOFirstTime)
            {
                GMOFirstTime = false;
            }

            if (_authTicket != null && !firstRequest)
            {
                _requestEnvelope.AuthTicket = _authTicket;
                _requestEnvelope.PlatformRequests.Add(GenerateSignature(_requestEnvelope));
            }
            else
            {
                _requestEnvelope.AuthInfo = new RequestEnvelope.Types.AuthInfo
                {
                    Provider = _authType == AuthType.Google ? "google" : "ptc",
                    Token    = new RequestEnvelope.Types.AuthInfo.Types.JWT
                    {
                        Contents = _authToken,
                        Unknown2 = _token2
                    }
                };
            }

            return(_requestEnvelope);
        }
Ejemplo n.º 21
0
        public void NextFloat()
        {
            for (var i = 0; i < 1000; i++)
            {
                var value = TRandom.NextFloat(MaxLimitF);

                if (value >= MaxLimitF || value < 0)
                {
                    Assert.Fail("Random result was out of bounds");
                }
            }
        }
Ejemplo n.º 22
0
        public void Next_MinMaxNegatives()
        {
            for (var i = 0; i < 1000; i++)
            {
                if (TRandom.Next(MinLimitInt, MaxLimitInt) < 0)
                {
                    return;
                }
            }

            Assert.Fail("Negative result never hit");
        }
Ejemplo n.º 23
0
        public void Next_MinMaxBounds()
        {
            for (var i = 0; i < 1000; i++)
            {
                var value = TRandom.Next(MinLimitInt, MaxLimitInt);

                if (value >= MaxLimitInt || value < MinLimitInt)
                {
                    Assert.Fail("Random result was out of bounds");
                }
            }
        }
Ejemplo n.º 24
0
        public void NextLetter()
        {
            var test   = "dolypartn";
            var actual = new HashSet <char>();

            for (var i = 0; i < 200; i++)
            {
                actual.Add(TRandom.NextLetter(test));
            }

            Assert.AreEqual(test.Length, actual.Count);
        }
Ejemplo n.º 25
0
        public void NextElement_Char()
        {
            var list   = new[] { 'j', 'a', 'r', 'e', 'd' };
            var actual = new HashSet <char>();

            for (var i = 0; i < 200; i++)
            {
                actual.Add(TRandom.NextElement(list));
            }

            CollectionAssert.AreEquivalent(list, actual.ToArray());
        }
Ejemplo n.º 26
0
        public void NextElement_String()
        {
            var list   = new[] { "hello", "my", "name", "is", "duke", "nukem" };
            var actual = new HashSet <string>();

            for (var i = 0; i < 200; i++)
            {
                actual.Add(TRandom.NextElement(list));
            }

            CollectionAssert.AreEquivalent(list, actual.ToArray());
        }
Ejemplo n.º 27
0
        public void Test1()
        {
            AutoFacContainer container = new AutoFacContainer();

            container.RegisterOptions <SshOptions>();
            container.ContainerBuilder.RegisterModule <SshModule>();
            var services   = container.ContainerBuilder.Build();
            var sftpClient = services.Resolve <SftpClient>();

            sftpClient.Connect();
            Random rnd = new Random((int)(DateTime.Now - new DateTime(2018, 1, 1)).TotalMilliseconds);

            TRandom random = new TRandom();

            for (int i = 51; i < 53; i++)
            {
                var sales = new List <SaleRecord>();
                for (int j = 0; j < 50000; j++)
                {
                    SaleRecord saleRecord = new SaleRecord()
                    {
                        StoreNo         = rnd.Next(99999).ToString().PadLeft(5, '0'),
                        HourOfDay       = rnd.Next(24),
                        MinuteOfHour    = rnd.Next(60),
                        NumberApple     = random.Poisson(12),
                        NumberOfBanana  = random.Poisson(5),
                        NumberOfBeer    = random.Poisson(4),
                        NumberOfChicken = random.Poisson(8),
                        TimeStamp       = DateTime.Now.AddSeconds(-rnd.Next(365 * 24 * 3600))
                    };

                    saleRecord.TotalValueEclGST =
                        saleRecord.NumberApple * 4 +
                        saleRecord.NumberOfBanana * 8 +
                        saleRecord.NumberOfBeer * 5 +
                        saleRecord.NumberOfChicken * 6;

                    sales.Add(saleRecord);
                }

                using (MemoryStream stream = new MemoryStream())
                {
                    stream.WriteCsv(sales);
                    using (MemoryStream upload = new MemoryStream(stream.ToArray()))
                    {
                        sftpClient.UploadFile(upload, $"/root/{i.ToString().PadLeft(3,'0')}.csv");
                    }
                }
            }

            sftpClient.Disconnect();
            sftpClient.Dispose();
        }
Ejemplo n.º 28
0
 //|| date.Text.Trim() != string.Empty || amount.Text.Trim() != string.Empty || bName.Text.Trim() != string.Empty ||bAddress.Text.Trim() != string.Empty || cnic.Text.Trim() != string.Empty
 private void Generate_Click(object sender, EventArgs e)
 {
     if (crn.Text.Trim() != string.Empty || fName.Text.Trim() != string.Empty ||
         tNum.Text.Trim() != string.Empty || fNum.Text.Trim() != string.Empty)
     {
         error.Text = "";
         int CRN           = Convert.ToInt32(crn.Text);
         int fn            = Convert.ToInt32(fNum.Text);
         var nameGenerator = new PersonNameGenerator();
         var trandom       = new TRandom();
         if (random.Checked)
         {
             for (int i = 1; i <= fn; i++)
             {
                 int        tn  = Convert.ToInt32(tNum.Text);
                 TextWriter txt = new StreamWriter("E:\\" + fName.Text + i + ".csv");
                 txt.Write("Global ID,Transdate,Foreign Currency Amount,transferamount,transcurrencid,beneficairy name,beneficairy address1,beneficairy address2,beneficariy CNIC,beneficariy Mobile No,beneficairy city,Delivtype,delivdetail1,delivdetail2,delivdetail3,Sender name,Sender Address1,Sender Address2,Sender City,rem stat,remsource Code,Country Code" + (Environment.NewLine));
                 for (; tn > 0; tn--)
                 {
                     txt.Write(ValueToId(CRN) + "," + trandom.Next(1, 31) + "/" + trandom.Next(1, 12) + "/2019" + ",," + trandom.Next(10, 10000) + ",PKR," + nameGenerator.GenerateRandomFirstAndLastName() + "," + bAddress.Text + ",," + "42101" + trandom.Next(11111111, 99999999) + "," + "03" + trandom.Next(0, 999999999) + "," + city.Text + "," + tType.Text + "," + bank.Text + ",,0," + nameGenerator.GenerateRandomFirstAndLastName() + "," + rAddress.Text + ",," + rCity.Text + ",A," + ec.Text + ",1350" + (Environment.NewLine));
                     CRN++;
                 }
                 txt.Close();
             }
             error.Text = "File have been generated!";
         }
         else
         {
             for (int i = 1; i <= fn; i++)
             {
                 int        tn  = Convert.ToInt32(tNum.Text);
                 TextWriter txt = new StreamWriter("E:\\" + fName.Text + i + ".csv");
                 txt.Write("Global ID,Transdate,Foreign Currency Amount,transferamount,transcurrencid,beneficairy name,beneficairy address1,beneficairy address2,beneficariy CNIC,beneficariy Mobile No,beneficairy city,Delivtype,delivdetail1,delivdetail2,delivdetail3,Sender name,Sender Address1,Sender Address2,Sender City,rem stat,remsource Code,Country Code" + (Environment.NewLine));
                 for (; tn > 0; tn--)
                 {
                     txt.Write(ValueToId(CRN) + "," + date.Text + ",," + amount.Text + ",PKR," + bName.Text + "," + bAddress.Text + ",," + cnic.Text + "," + number.Text + "," + city.Text + "," + tType.Text + "," + bank.Text + ",,0," + rName.Text + "," + rAddress.Text + ",," + rCity.Text + ",A," + ec.Text + ",1350" + (Environment.NewLine));
                     CRN++;
                 }
                 txt.Close();
             }
             error.Text = "File have been generated!";
         }
     }
     else
     {
         error.Text = "All feilds are required to be filled!.";
         return;
     }
     //txt.Write(crn.Text + "," + date.Text + ",," + amount.Text + ",PKR," + bName.Text + "," + bAddress.Text + ",," + cnic.Text + "," + number.Text + "," + city.Text + "," + tType.Text + "," + bank.Text + ",,0," + rName.Text + "," + rAddress.Text + ",," + rCity.Text + ",A," + ec.Text + ",1350" + (Environment.NewLine));
 }
Ejemplo n.º 29
0
        /// <summary>
        /// Restores the state of the pseudo-random number generator based on the specified state parameter
        /// </summary>
        /// <example>
        /// If you generated three random numbers and then called Save to store the state and
        /// followed that up by generating 10 more numbers before calling Restore with the previously saved RandomState
        /// the Restore method should return the generator back to the state when Save was first called.
        /// This means that if you went on to generate 10 more numbers they would be the same 10 numbers that were
        /// generated the first time after Save was called.
        /// </example>
        /// <param name="state">The state to restore to, usually obtained from calling the Save method</param>
        /// <exception cref="ArgumentNullException">RandomState cannot be null</exception>
        public void Restore(RandomState state)
        {
            if (state == null)
            {
                throw new ArgumentNullException(nameof(state), "RandomState cannot be null");
            }

            _seed   = state.Seed[0];
            _random = new TRandom(_seed);
            for (long i = 0; i < state.NumberGenerated; i++)
            {
                _random.Next();
            }
        }
Ejemplo n.º 30
0
        //crossover function, swap random two elements
        public void Crossover(double[] Group)
        {
            TRandom rnd = new TRandom();
            int index = rnd.Next(0, Group.Length);
            int index2 = rnd.Next(0, Group.Length);

            while (index == index2)
            {
                index2 = rnd.Next(0, Group.Length);
            }

            var value = Group[index];
            Group[index] = Group[index2];
            Group[index2] = Group[index];
        }
Ejemplo n.º 31
0
        /// <summary>
        /// Creates a new population with zero individuals.
        /// </summary>
        /// <param name="enviroment">The enviroment.</param>
        public Population(Func <TIndividual, double> fitness, TRandom random)
        {
            if (fitness is null)
            {
                throw new ArgumentNullException(nameof(fitness));
            }
            if (random is null)
            {
                throw new ArgumentNullException(nameof(random));
            }

            Fitness     = fitness;
            Random      = random;
            Individuals = _emptyIndividuals;
        }