Ignore:
Timestamp:
03/29/24 23:34:00 (7 weeks ago)
Author:
Maciej Komosinski
Message:

More reasonable usage of size_t, int, and unsigned int, and their conversions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/genetics/fH/fH_oper.cpp

    r1273 r1299  
    237237
    238238        // used for computing chg
    239         unsigned int sumgenes = creature->sticks.size() + creature->neurons.size() + creature->connections.size();
     239        size_t sumgenes = creature->sticks.size() + creature->neurons.size() + creature->connections.size();
    240240
    241241        // if there is only one element in genotype (stick), then deletion would end
     
    401401unsigned int Geno_fH::getRandomHandle(fH_Builder *creature, fH_Handle *&handle, ParamEntry *&tab, bool skipalonestick)
    402402{
    403         unsigned int allhandlescount = creature->connections.size() + creature->neurons.size();
     403        size_t allhandlescount = creature->connections.size() + creature->neurons.size();
    404404        if (!skipalonestick || creature->sticks.size() > 1)
    405405        {
    406406                allhandlescount += creature->sticks.size();
    407407        }
    408         unsigned int toselect = rndUint(allhandlescount);
    409         if (toselect < creature->connections.size())
     408        int toselect = rndUint(allhandlescount);
     409        if ((size_t)toselect < creature->connections.size())
    410410        {
    411411                handle = creature->connections[toselect];
     
    413413                return toselect;
    414414        }
    415         else if (toselect - creature->connections.size() < creature->neurons.size())
    416         {
    417                 toselect -= creature->connections.size();
     415        else if (toselect - (int)creature->connections.size() < (int)creature->neurons.size())
     416        {
     417                toselect -= (int)creature->connections.size();
    418418                handle = creature->neurons[toselect];
    419419                tab = creature->neuronparamtab;
     420                if (toselect < 0)
     421                        logMessage("Geno_fH", "getRandomHandle", LOG_CRITICAL, "toselect<0");
    420422                return toselect;
    421423        }
    422         toselect -= creature->connections.size() + creature->neurons.size();
     424        toselect -= int(creature->connections.size() + creature->neurons.size());
    423425        handle = creature->sticks[toselect];
    424426        tab = creature->stickparamtab;
     427        if (toselect < 0)
     428                logMessage("Geno_fH", "getRandomHandle", LOG_CRITICAL, "toselect<0");
    425429        return toselect;
    426430}
Note: See TracChangeset for help on using the changeset viewer.