Changeset 853 for cpp/frams


Ignore:
Timestamp:
02/15/19 03:09:31 (6 years ago)
Author:
Maciej Komosinski
Message:

The official C++17 fallthrough? attribute instead of comments no break

Location:
cpp/frams/genetics
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/genetics/f4/f4_general.cpp

    r830 r853  
    11// This file is a part of Framsticks SDK.  http://www.framsticks.com/
    2 // Copyright (C) 1999-2018  Maciej Komosinski and Szymon Ulatowski.
     2// Copyright (C) 1999-2019  Maciej Komosinski and Szymon Ulatowski.
    33// See LICENSE.txt for details.
    44
     
    300300                                }
    301301                        }
    302                                 /* no break */
     302                        [[fallthrough]];
    303303                        case '#':
    304304                        {
     
    522522                                break;
    523523                        }
    524                         wait_link:
     524                wait_link:
    525525                        {
    526526                                // wait for other neurons to develop
     
    537537                                gcur = gcur->child;
    538538                        }
    539                                 break;
     539                        break;
    540540                        case ':':
    541541                        {
     
    16241624                if (root->child)
    16251625                {
    1626                 char* buf = (char*)malloc(300);
    1627                 DB(printf("(%d) ", root->child->count());)
    1628                         buf[0] = 0;
    1629                 root->child->sprintAdj(buf);
    1630                 DB(printf("%s\n", buf);)
    1631                         free(buf);
     1626                        char* buf = (char*)malloc(300);
     1627                        DB(printf("(%d) ", root->child->count());)
     1628                                buf[0] = 0;
     1629                        root->child->sprintAdj(buf);
     1630                        DB(printf("%s\n", buf);)
     1631                                free(buf);
    16321632                }
    16331633        )
  • cpp/frams/genetics/fB/fB_oper.cpp

    r821 r853  
    11// This file is a part of Framsticks SDK.  http://www.framsticks.com/
    2 // Copyright (C) 1999-2018  Maciej Komosinski and Szymon Ulatowski.
     2// Copyright (C) 1999-2019  Maciej Komosinski and Szymon Ulatowski.
    33// See LICENSE.txt for details.
    44
     
    301301                }
    302302        }
    303         /* no break */
     303        [[fallthrough]];
    304304        case FB_INSERTION:
    305305        {
     
    359359                res.insert(res.end(), iters[3], tokenized.end());
    360360
    361 //              SString first = line.substr(cuts[0], cuts[1] - cuts[0]);
    362 //              SString second = line.substr(cuts[2], cuts[3] - cuts[2]);
    363 //              SString result = line.substr(0, cuts[0]) + second +
    364 //                      line.substr(cuts[1], cuts[2] - cuts[1]) + first + line.substr(cuts[3]);
     361                //              SString first = line.substr(cuts[0], cuts[1] - cuts[0]);
     362                //              SString second = line.substr(cuts[2], cuts[3] - cuts[2]);
     363                //              SString result = line.substr(0, cuts[0]) + second +
     364                //                      line.substr(cuts[1], cuts[2] - cuts[1]) + first + line.substr(cuts[3]);
    365365                line = detokenizeSequence(&res);
    366366                chg = (float)(cuts[3] - cuts[2] + cuts[1] - cuts[0]) / line.len();
     
    420420                break;
    421421        }
    422 //      case FB_CROSSING_OVER:
    423 //      {
    424 //              // iterate through all genes of the first parent and assign them
    425 //              // randomly to children
    426 //              for (int i = 0; i < fB_GenoHelpers::geneCount(parent1); i++)
    427 //              {
    428 //                      int start, end;
    429 //                      SString gene = fB_GenoHelpers::getGene(i, parent1, start, end);
    430 //                      if (randomN(2) == 0)
    431 //                      {
    432 //                              child1 += gene;
    433 //                              chg1 += 1.0f;
    434 //                      }
    435 //                      else
    436 //                      {
    437 //                              child2 += gene;
    438 //                      }
    439 //              }
    440 //              chg1 /= fB_GenoHelpers::geneCount(parent1);
    441 //
    442 //              // do the same with second parent
    443 //              for (int i = 0; i < fB_GenoHelpers::geneCount(parent2); i++)
    444 //              {
    445 //                      int start, end;
    446 //                      SString gene = fB_GenoHelpers::getGene(i, parent2, start, end);
    447 //                      if (randomN(2) == 0)
    448 //                      {
    449 //                              child1 += gene;
    450 //                      }
    451 //                      else
    452 //                      {
    453 //                              child2 += gene;
    454 //                              chg2 += 1.0f;
    455 //                      }
    456 //              }
    457 //              chg2 /= fB_GenoHelpers::geneCount(parent2);
    458 //              break;
    459 //      }
     422        //      case FB_CROSSING_OVER:
     423        //      {
     424        //              // iterate through all genes of the first parent and assign them
     425        //              // randomly to children
     426        //              for (int i = 0; i < fB_GenoHelpers::geneCount(parent1); i++)
     427        //              {
     428        //                      int start, end;
     429        //                      SString gene = fB_GenoHelpers::getGene(i, parent1, start, end);
     430        //                      if (randomN(2) == 0)
     431        //                      {
     432        //                              child1 += gene;
     433        //                              chg1 += 1.0f;
     434        //                      }
     435        //                      else
     436        //                      {
     437        //                              child2 += gene;
     438        //                      }
     439        //              }
     440        //              chg1 /= fB_GenoHelpers::geneCount(parent1);
     441        //
     442        //              // do the same with second parent
     443        //              for (int i = 0; i < fB_GenoHelpers::geneCount(parent2); i++)
     444        //              {
     445        //                      int start, end;
     446        //                      SString gene = fB_GenoHelpers::getGene(i, parent2, start, end);
     447        //                      if (randomN(2) == 0)
     448        //                      {
     449        //                              child1 += gene;
     450        //                      }
     451        //                      else
     452        //                      {
     453        //                              child2 += gene;
     454        //                              chg2 += 1.0f;
     455        //                      }
     456        //              }
     457        //              chg2 /= fB_GenoHelpers::geneCount(parent2);
     458        //              break;
     459        //      }
    460460        case FB_CROSSING_OVER:
    461461        {
    462462                // get maximal count of genes from both parents
    463463                int maxgenecount = max(fB_GenoHelpers::geneCountNoNested(parent1),
    464                                 fB_GenoHelpers::geneCountNoNested(parent2));
     464                        fB_GenoHelpers::geneCountNoNested(parent2));
    465465
    466466                // while there are genes in at least one genotype
     
    472472                        // if both parents have genes available, then distribute them
    473473                        if (i < fB_GenoHelpers::geneCountNoNested(parent1) &&
    474                                         i < fB_GenoHelpers::geneCountNoNested(parent2))
     474                                i < fB_GenoHelpers::geneCountNoNested(parent2))
    475475                        {
    476476                                if (randomN(2) == 0)
  • cpp/frams/genetics/fL/fL_oper.cpp

    r821 r853  
    11// This file is a part of Framsticks SDK.  http://www.framsticks.com/
    2 // Copyright (C) 1999-2018  Maciej Komosinski and Szymon Ulatowski.
     2// Copyright (C) 1999-2019  Maciej Komosinski and Szymon Ulatowski.
    33// See LICENSE.txt for details.
    44
     
    313313                        // if there are no rules - create one
    314314                }
    315                 /* no break */
     315                [[fallthrough]];
    316316                case FL_ADD_RULE:
    317317                {
     
    387387                        // if there are no words, from which rules can be formed, then add one
    388388                }
    389                 /* no break */
     389                [[fallthrough]];
    390390                case FL_ADD_WDEF:
    391391                {
     
    411411                        // deletion should be performed
    412412                }
    413                 /* no break */
     413                [[fallthrough]];
    414414                case FL_DEL_WORD:
    415415                {
     
    476476                        // if no words available, then add word
    477477                }
    478                 /* no break */
     478                [[fallthrough]];
    479479                case FL_ADD_WORD:
    480480                {
Note: See TracChangeset for help on using the changeset viewer.