Changeset 896 for cpp/frams/genetics/fB


Ignore:
Timestamp:
11/30/19 01:30:22 (4 years ago)
Author:
Maciej Komosinski
Message:

Replaced #defined macros for popular random-related operations with functions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/genetics/fB/fB_oper.cpp

    r853 r896  
    246246        {
    247247                std::list<SString> tokenized = tokenizeSequence(line);
    248                 int rndid = randomN(tokenized.size()); // select random letter from genotype
     248                int rndid = rndUint(tokenized.size()); // select random letter from genotype
    249249                // increment/decrement character - when overflow happens, this method
    250250                // uses reflect method
     
    254254                if ((*it).len() == 1)
    255255                {
    256                         if (randomN(2) == 0)
     256                        if (rndUint(2) == 0)
    257257                        {
    258258                                if ((*it)[0] == 'a') (*it).directWrite()[0] = 'b';
     
    285285                std::list<SString> tokenized = tokenizeSequence(line);
    286286                std::list<SString>::iterator it = tokenized.begin();
    287                 int rndid = randomN(tokenized.size()); // select random insertion point
     287                int rndid = rndUint(tokenized.size()); // select random insertion point
    288288                std::advance(it, rndid);
    289289                NeuroClass *cls = getRandomNeuroClass();
     
    306306                chg = 1.0 / line.len();
    307307                std::list<SString> tokenized = tokenizeSequence(line);
    308                 int rndid = randomN(tokenized.size()); // select random insertion point
     308                int rndid = rndUint(tokenized.size()); // select random insertion point
    309309                std::list<SString>::iterator it = tokenized.begin();
    310310                std::advance(it, rndid);
    311311                SString letter = "a";
    312                 letter.directWrite()[0] = 'a' + randomN(26);
     312                letter.directWrite()[0] = 'a' + rndUint(26);
    313313                tokenized.insert(it, letter);
    314314                line = detokenizeSequence(&tokenized);
     
    320320                std::list<SString> tokenized = tokenizeSequence(line);
    321321                std::list<SString>::iterator it = tokenized.begin();
    322                 int rndid = randomN(tokenized.size()); // select random deletion point
     322                int rndid = rndUint(tokenized.size()); // select random deletion point
    323323                std::advance(it, rndid);
    324324                tokenized.erase(it);
     
    328328        case FB_DUPLICATION:
    329329        {
    330                 int rndgene = randomN(fB_GenoHelpers::geneCount(line));
     330                int rndgene = rndUint(fB_GenoHelpers::geneCount(line));
    331331                int start, end;
    332332                SString gene = fB_GenoHelpers::getGene(rndgene, line, start, end);
     
    342342                for (int i = 0; i < 4; i++)
    343343                {
    344                         cuts[i] = randomN(tokenized.size());
     344                        cuts[i] = rndUint(tokenized.size());
    345345                }
    346346                std::sort(cuts.begin(), cuts.end());
     
    407407        {
    408408                // get random gene from first parent
    409                 int choice = randomN(fB_GenoHelpers::geneCount(parent1));
     409                int choice = rndUint(fB_GenoHelpers::geneCount(parent1));
    410410                int start, end;
    411411                SString gene = fB_GenoHelpers::getGene(choice, parent1, start, end);
     
    414414                chg2 = (float)parent2.len() / (float)child2.len();
    415415                // do the same for second parent
    416                 choice = randomN(fB_GenoHelpers::geneCount(parent2));
     416                choice = rndUint(fB_GenoHelpers::geneCount(parent2));
    417417                gene = fB_GenoHelpers::getGene(choice, parent2, start, end);
    418418                child1 = gene + parent1;
     
    428428        //                      int start, end;
    429429        //                      SString gene = fB_GenoHelpers::getGene(i, parent1, start, end);
    430         //                      if (randomN(2) == 0)
     430        //                      if (rndUint(2) == 0)
    431431        //                      {
    432432        //                              child1 += gene;
     
    445445        //                      int start, end;
    446446        //                      SString gene = fB_GenoHelpers::getGene(i, parent2, start, end);
    447         //                      if (randomN(2) == 0)
     447        //                      if (rndUint(2) == 0)
    448448        //                      {
    449449        //                              child1 += gene;
     
    474474                                i < fB_GenoHelpers::geneCountNoNested(parent2))
    475475                        {
    476                                 if (randomN(2) == 0)
     476                                if (rndUint(2) == 0)
    477477                                {
    478478                                        to1 = fB_GenoHelpers::getNonNestedGene(i, parent1, start, end);
     
    489489                        else if (i < fB_GenoHelpers::geneCountNoNested(parent1))
    490490                        {
    491                                 if (randomN(2) == 0)
     491                                if (rndUint(2) == 0)
    492492                                {
    493493                                        to1 = fB_GenoHelpers::getNonNestedGene(i, parent1, start, end);
     
    501501                        else // if (i < fB_GenoHelpers::geneCountNoNested(parent2))
    502502                        {
    503                                 if (randomN(2) == 0)
     503                                if (rndUint(2) == 0)
    504504                                {
    505505                                        to1 = fB_GenoHelpers::getNonNestedGene(i, parent2, start, end);
Note: See TracChangeset for help on using the changeset viewer.