Changeset 758 for cpp/frams/genetics/oper_fx.cpp
- Timestamp:
- 03/15/18 22:50:46 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cpp/frams/genetics/oper_fx.cpp
r751 r758 212 212 for (int i = 0; i < Neuro::getClassCount(); i++) 213 213 if (Neuro::getClass(i)->genactive) 214 active.push_back(Neuro::getClass(i)); 215 if (active.size() == 0) return NULL; else return active[randomN(active.size())]; 216 } 217 218 NeuroClass* GenoOperators::getRandomNeuroClassWithOutput() 219 { 220 vector<NeuroClass*> active; 221 for (int i = 0; i < Neuro::getClassCount(); i++) 222 if (Neuro::getClass(i)->genactive && Neuro::getClass(i)->getPreferredOutput() != 0) 223 active.push_back(Neuro::getClass(i)); 224 if (active.size() == 0) return NULL; else return active[randomN(active.size())]; 225 } 226 227 NeuroClass* GenoOperators::getRandomNeuroClassWithInput() 228 { 229 vector<NeuroClass*> active; 230 for (int i = 0; i < Neuro::getClassCount(); i++) 231 if (Neuro::getClass(i)->genactive && Neuro::getClass(i)->getPreferredInputs() != 0) 232 active.push_back(Neuro::getClass(i)); 233 if (active.size() == 0) return NULL; else return active[randomN(active.size())]; 234 } 235 236 NeuroClass* GenoOperators::getRandomNeuroClassWithOutputAndNoInputs() 237 { 238 vector<NeuroClass*> active; 239 for (int i = 0; i < Neuro::getClassCount(); i++) 240 if (Neuro::getClass(i)->genactive && Neuro::getClass(i)->getPreferredOutput() != 0 && Neuro::getClass(i)->getPreferredInputs() == 0) 214 241 active.push_back(Neuro::getClass(i)); 215 242 if (active.size() == 0) return NULL; else return active[randomN(active.size())]; … … 342 369 } 343 370 344 bool GenoOperators:: isNeuroClassName(const char firstchar)371 bool GenoOperators::canStartNeuroClassName(const char firstchar) 345 372 { 346 373 return isupper(firstchar) || firstchar == '|' || firstchar == '@' || firstchar == '*';
Note: See TracChangeset
for help on using the changeset viewer.