Changeset 9


Ignore:
Timestamp:
06/01/09 23:07:35 (15 years ago)
Author:
mwajcht
Message:

Fixed one bug in converter. Fixed checking if mutation was unsuccessful.

Location:
cpp/f8-to-f1
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpp/f8-to-f1/conv_f8tof1.cpp

    r7 r9  
    595595        Production *firstProduction = lsystem->productions[lsystem->firstProductionName];
    596596        vector<double> params;
    597         params.reserve(lsystem->startParams.size());
     597        params.assign(lsystem->startParams.size(), 0.0);
    598598        //cout << "startParams->size: " << lsystem->startParams.size() << endl;
    599599        for (map<string, double>::iterator iter = lsystem->startParams.begin();
  • cpp/f8-to-f1/geno_f8.cpp

    r8 r9  
    285285        if (newLsystem == NULL) {
    286286                mutated += in;
    287                 chg = 0.0;
     287                chg = -1.0;
    288288                return mutated;
    289289        }
     
    357357        if (lsystem == NULL) {
    358358                mutated += in;
    359                 chg = 0.0;
     359                chg = -1.0;
    360360                return mutated;
    361361        }
     
    395395        if (lsystem == NULL) {
    396396                mutated += in;
    397                 chg = 0.0;
     397                chg = -1.0;
    398398                return mutated;
    399399        }
     
    455455        if (lsystem == NULL) {
    456456                mutated += in;
    457                 chg = 0.0;
     457                chg = -1.0;
    458458                return mutated;
    459459        }
     
    534534        if (newLsystem == NULL) {
    535535                mutated += in;
    536                 chg = 0.0;
     536                chg = -1.0;
    537537                return mutated;
    538538        }
     
    574574        if (lsystem == NULL) {
    575575                mutated += in;
    576                 chg = 0.0;
     576                chg = -1.0;
    577577                return mutated;
    578578        }
     
    650650        }
    651651        if (interestingProductions.size() == 0) {
    652                 chg = 0.0;
     652                chg = -1.0;
    653653                mutated = in;
    654654                return mutated;
     
    666666                        }
    667667                        if (subproductionsCount == 0) {
    668                                 chg = 0.0;
     668                                chg = -1.0;
    669669                                mutated = in;
    670670                                return mutated;
     
    714714        if (newLsystem == NULL) {
    715715                mutated += in;
    716                 chg = 0.0;
     716                chg = -1.0;
    717717                return mutated;
    718718        }
     
    798798        if (newLsystem == NULL) {
    799799                mutated += in;
    800                 chg = 0.0;
     800                chg = -1.0;
    801801                return mutated;
    802802        }
     
    892892        if (newLsystem == NULL) {
    893893                mutated += in;
    894                 chg = 0.0;
     894                chg = -1.0;
    895895                return mutated;
    896896        }
     
    942942       
    943943        //cout << "mutate 1" << endl;
    944         //TODO dodac parametr ok, mowiacy, czy wszystko bylo ok
    945944        switch (method) {
    946945                case F8_CHANGE_BEGINNING_ARG:
     
    995994        //cout << "mutate 2" << endl;
    996995        if (ssMutatedTmp.len() < 16) {
     996                return GENOPER_OPFAIL;
     997        }
     998        if (chg == -1.0) {
     999                chg = 0.0;
    9971000                return GENOPER_OPFAIL;
    9981001        }
     
    10071010                return GENOPER_OK;
    10081011        } else {
    1009                 chg = 0.0;
    10101012                return GENOPER_OPFAIL;
    10111013        }
     
    12101212                if (types[i] == type) {
    12111213                        types[i] = types[5];
    1212                         types[5] = type;
     1214                        //types[5] = type;
    12131215                        break;
    12141216                }
Note: See TracChangeset for help on using the changeset viewer.