Changeset 896 for cpp/frams/genetics/fB
- Timestamp:
- 11/30/19 01:30:22 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cpp/frams/genetics/fB/fB_oper.cpp
r853 r896 246 246 { 247 247 std::list<SString> tokenized = tokenizeSequence(line); 248 int rndid = r andomN(tokenized.size()); // select random letter from genotype248 int rndid = rndUint(tokenized.size()); // select random letter from genotype 249 249 // increment/decrement character - when overflow happens, this method 250 250 // uses reflect method … … 254 254 if ((*it).len() == 1) 255 255 { 256 if (r andomN(2) == 0)256 if (rndUint(2) == 0) 257 257 { 258 258 if ((*it)[0] == 'a') (*it).directWrite()[0] = 'b'; … … 285 285 std::list<SString> tokenized = tokenizeSequence(line); 286 286 std::list<SString>::iterator it = tokenized.begin(); 287 int rndid = r andomN(tokenized.size()); // select random insertion point287 int rndid = rndUint(tokenized.size()); // select random insertion point 288 288 std::advance(it, rndid); 289 289 NeuroClass *cls = getRandomNeuroClass(); … … 306 306 chg = 1.0 / line.len(); 307 307 std::list<SString> tokenized = tokenizeSequence(line); 308 int rndid = r andomN(tokenized.size()); // select random insertion point308 int rndid = rndUint(tokenized.size()); // select random insertion point 309 309 std::list<SString>::iterator it = tokenized.begin(); 310 310 std::advance(it, rndid); 311 311 SString letter = "a"; 312 letter.directWrite()[0] = 'a' + r andomN(26);312 letter.directWrite()[0] = 'a' + rndUint(26); 313 313 tokenized.insert(it, letter); 314 314 line = detokenizeSequence(&tokenized); … … 320 320 std::list<SString> tokenized = tokenizeSequence(line); 321 321 std::list<SString>::iterator it = tokenized.begin(); 322 int rndid = r andomN(tokenized.size()); // select random deletion point322 int rndid = rndUint(tokenized.size()); // select random deletion point 323 323 std::advance(it, rndid); 324 324 tokenized.erase(it); … … 328 328 case FB_DUPLICATION: 329 329 { 330 int rndgene = r andomN(fB_GenoHelpers::geneCount(line));330 int rndgene = rndUint(fB_GenoHelpers::geneCount(line)); 331 331 int start, end; 332 332 SString gene = fB_GenoHelpers::getGene(rndgene, line, start, end); … … 342 342 for (int i = 0; i < 4; i++) 343 343 { 344 cuts[i] = r andomN(tokenized.size());344 cuts[i] = rndUint(tokenized.size()); 345 345 } 346 346 std::sort(cuts.begin(), cuts.end()); … … 407 407 { 408 408 // get random gene from first parent 409 int choice = r andomN(fB_GenoHelpers::geneCount(parent1));409 int choice = rndUint(fB_GenoHelpers::geneCount(parent1)); 410 410 int start, end; 411 411 SString gene = fB_GenoHelpers::getGene(choice, parent1, start, end); … … 414 414 chg2 = (float)parent2.len() / (float)child2.len(); 415 415 // do the same for second parent 416 choice = r andomN(fB_GenoHelpers::geneCount(parent2));416 choice = rndUint(fB_GenoHelpers::geneCount(parent2)); 417 417 gene = fB_GenoHelpers::getGene(choice, parent2, start, end); 418 418 child1 = gene + parent1; … … 428 428 // int start, end; 429 429 // SString gene = fB_GenoHelpers::getGene(i, parent1, start, end); 430 // if (r andomN(2) == 0)430 // if (rndUint(2) == 0) 431 431 // { 432 432 // child1 += gene; … … 445 445 // int start, end; 446 446 // SString gene = fB_GenoHelpers::getGene(i, parent2, start, end); 447 // if (r andomN(2) == 0)447 // if (rndUint(2) == 0) 448 448 // { 449 449 // child1 += gene; … … 474 474 i < fB_GenoHelpers::geneCountNoNested(parent2)) 475 475 { 476 if (r andomN(2) == 0)476 if (rndUint(2) == 0) 477 477 { 478 478 to1 = fB_GenoHelpers::getNonNestedGene(i, parent1, start, end); … … 489 489 else if (i < fB_GenoHelpers::geneCountNoNested(parent1)) 490 490 { 491 if (r andomN(2) == 0)491 if (rndUint(2) == 0) 492 492 { 493 493 to1 = fB_GenoHelpers::getNonNestedGene(i, parent1, start, end); … … 501 501 else // if (i < fB_GenoHelpers::geneCountNoNested(parent2)) 502 502 { 503 if (r andomN(2) == 0)503 if (rndUint(2) == 0) 504 504 { 505 505 to1 = fB_GenoHelpers::getNonNestedGene(i, parent2, start, end);
Note: See TracChangeset
for help on using the changeset viewer.