Changeset 767 for cpp/frams/genetics/f4/f4_general.cpp
- Timestamp:
- 03/29/18 22:52:36 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cpp/frams/genetics/f4/f4_general.cpp
r760 r767 466 466 float w = gcur->f1; 467 467 f4_Cell *tneu = NULL; 468 if (t > 0) // sensors 468 if (t < 0) // wrong sensor 469 { 470 string buf = "wrong sensor in link '"; 471 buf.append(gcur->s1); 472 buf.append("'"); 473 logMessage("f4_Cell", "onestep", LOG_ERROR, buf.c_str()); 474 org->setRepairRemove(gcur->pos, gcur); 475 return 1; 476 } 477 else if (t > 0) // sensors 469 478 { 470 479 char *temp = (char*)gcur->s1.c_str(); … … 476 485 buf.append(gcur->s1); 477 486 buf.append("'"); 478 logMessage("f4_Cell", "onestep", LOG_ WARN, buf.c_str()); //TODO ask487 logMessage("f4_Cell", "onestep", LOG_ERROR, buf.c_str()); 479 488 org->setRepairRemove(gcur->pos, gcur); 480 489 return 1; … … 1227 1236 void f4_node::sprint(SString& out) 1228 1237 { 1229 string buf2 = "";1238 char buf2[20]; 1230 1239 // special case: repetition code 1231 1240 if (name == "#") … … 1234 1243 if (i1 != 1) 1235 1244 { 1236 sprintf( (char*)buf2.c_str(), "%d", i1);1237 out += buf2 .c_str();1245 sprintf(buf2, "%d", i1); 1246 out += buf2; 1238 1247 } 1239 1248 } … … 1250 1259 else 1251 1260 { 1252 sprintf( (char*)buf2.c_str(), "%ld", l1);1253 out += buf2 .c_str();1254 } 1255 sprintf( (char*)buf2.c_str(), ":%g]", f1);1256 out += buf2 .c_str();1261 sprintf(buf2, "%ld", l1); 1262 out += buf2; 1263 } 1264 sprintf(buf2, ":%g]", f1); 1265 out += buf2; 1257 1266 } 1258 1267 else if (name == ":") 1259 1268 { 1260 sprintf( (char*)buf2.c_str(), ":%c%c:", l1 ? '+' : '-', (char)i1);1261 out += buf2 .c_str();1269 sprintf(buf2, ":%c%c:", l1 ? '+' : '-', (char)i1); 1270 out += buf2; 1262 1271 } 1263 1272 else if (name == "@" || name == "|") … … 1265 1274 if (parent->name == "N") 1266 1275 { 1267 buf2 = name; 1268 out += buf2.c_str(); 1276 out += name.c_str(); 1269 1277 } 1270 1278 else 1271 1279 { 1272 1280 out += "N:"; 1273 buf2 = name; 1274 out += buf2.c_str(); 1281 out += name.c_str(); 1275 1282 } 1276 1283 } … … 1283 1290 out += "N:"; 1284 1291 } 1285 buf2 = name; 1286 out += buf2.c_str(); 1292 out += name.c_str(); 1287 1293 } 1288 1294 } … … 1402 1408 { 1403 1409 // repetition marker, 1 by default 1404 if (sscanf(genot + gpos, "#%d", &i) != 1) i = 1; 1410 ExtValue val; 1411 const char * end = val.parseNumber(genot + gpos + 1, ExtPType::TInt); 1412 if (end == NULL) i = 1; 1413 else i = val.getInt(); 1405 1414 // find out genotype start for continuation 1406 1415 j = scanrec(genot + gpos + 1, strlen(genot + gpos + 1), '>'); 1407 1416 // skip number 1408 1417 oldpos = gpos; 1409 gpos++; 1410 while ((genot[gpos] >= '0') && (genot[gpos] <= '9')) gpos++; 1418 gpos += end - (genot + gpos); 1419 //gpos++; 1420 //while ((genot[gpos] >= '0') && (genot[gpos] <= '9')) gpos++;node1 = new f4_node("#", par, oldpos); 1411 1421 node1 = new f4_node("#", par, oldpos); 1412 1422 node1->i1 = i; … … 1527 1537 end = parseConnectionWithNeuron(genot + gpos, neutype, w); 1528 1538 if (end == NULL) t = -1; 1529 t = 1;1539 else t = 1; 1530 1540 } 1531 1541 else
Note: See TracChangeset
for help on using the changeset viewer.