Index: cpp/frams/genetics/genman.cpp
===================================================================
--- cpp/frams/genetics/genman.cpp	(revision 139)
+++ cpp/frams/genetics/genman.cpp	(revision 145)
@@ -105,61 +105,61 @@
 
 #ifdef USE_GENMAN_f0
-	geno_fx_list.push_back(new Geno_f0);
+	oper_fx_list.push_back(new Geno_f0);
 #endif
 #ifdef USE_GENMAN_f0FUZZY
-	geno_fx_list.push_back(new Geno_f0Fuzzy);
+	oper_fx_list.push_back(new Geno_f0Fuzzy);
 #endif
 #ifdef USE_GENMAN_f1
-	geno_fx_list.push_back(new Geno_f1);
+	oper_fx_list.push_back(new Geno_f1);
 #endif
 #ifdef USE_GENMAN_f2
-	geno_fx_list.push_back(new Geno_f2);
+	oper_fx_list.push_back(new Geno_f2);
 #endif
 #ifdef USE_GENMAN_f3
-	geno_fx_list.push_back(new Geno_f3);
+	oper_fx_list.push_back(new Geno_f3);
 #endif
 #ifdef USE_GENMAN_f4
-	geno_fx_list.push_back(new Geno_f4);
+	oper_fx_list.push_back(new Geno_f4);
 #endif
 #ifdef USE_GENMAN_f5
-	geno_fx_list.push_back(new Geno_f5);
+	oper_fx_list.push_back(new Geno_f5);
 #endif
 #ifdef USE_GENMAN_f6
-	geno_fx_list.push_back(new Geno_f6);
+	oper_fx_list.push_back(new Geno_f6);
 #endif
 #ifdef USE_GENMAN_f7
-	geno_fx_list.push_back(new Geno_f7);
+	oper_fx_list.push_back(new Geno_f7);
 #endif
 #ifdef USE_GENMAN_f8
-	geno_fx_list.push_back(new Geno_f8);
+	oper_fx_list.push_back(new Geno_f8);
 #endif
 #ifdef USE_GENMAN_f9
-	geno_fx_list.push_back(new GenoOper_f9);
+	oper_fx_list.push_back(new GenoOper_f9);
 #endif
 #ifdef USE_GENMAN_fF
-	geno_fx_list.push_back(new GenoOper_fF);
-#endif
-
-	seloper = new int[geno_fx_list.size()]; //may result in a little overhead if some of the operators on the geno_fx_list concern the same genetic format
+	oper_fx_list.push_back(new GenoOper_fF);
+#endif
+
+	seloper = new int[oper_fx_list.size()]; //may result in a little overhead if some of the operators on the oper_fx_list concern the same genetic format
 	int selopercount = 0;
-	for (unsigned int i = 0; i < geno_fx_list.size(); i++)
-	{
-		if (operformats.find(geno_fx_list[i]->supported_format) != -1) continue;
+	for (unsigned int i = 0; i < oper_fx_list.size(); i++)
+	{
+		if (operformats.find(oper_fx_list[i]->supported_format) != -1) continue;
 		char tmp[10];
 		SString id, name, type = "~";
-		type += geno_fx_list[i]->name;
+		type += oper_fx_list[i]->name;
 		int dup = 0;
-		for (unsigned int j = i + 1; j < geno_fx_list.size(); j++)
-			if (geno_fx_list[i]->supported_format == geno_fx_list[j]->supported_format)
+		for (unsigned int j = i + 1; j < oper_fx_list.size(); j++)
+			if (oper_fx_list[i]->supported_format == oper_fx_list[j]->supported_format)
 			{
-				type += "~"; type += geno_fx_list[j]->name; dup++;
+				type += "~"; type += oper_fx_list[j]->name; dup++;
 			}
 		sprintf(tmp, "d 0 %d ", dup);
 		type = SString(tmp) + type;
-		sprintf(tmp, "%c", geno_fx_list[i]->supported_format);
+		sprintf(tmp, "%c", oper_fx_list[i]->supported_format);
 		id = "genoper_f"; id += tmp;
 		name = "Operators for f"; name += tmp;
 		seloper[selopercount] = 0;
-		operformats += geno_fx_list[i]->supported_format;
+		operformats += oper_fx_list[i]->supported_format;
 		//printf("%x %s %s %s\n",&seloper[selopercount],(const char*)id,(const char*)type,(const char*)name);
 		seloperpar.addProperty(&seloper[selopercount++], id, type, name, "", PARAM_READONLY*(dup == 0));
@@ -169,11 +169,11 @@
 	par += &seloperpar;
 	par += &neuronsparam;
-	for (unsigned int i = 0; i < geno_fx_list.size(); i++)
-		if (geno_fx_list[i]->par.getParamTab()) par += &geno_fx_list[i]->par;
+	for (unsigned int i = 0; i < oper_fx_list.size(); i++)
+		if (oper_fx_list[i]->par.getParamTab()) par += &oper_fx_list[i]->par;
 }
 
 GenMan::~GenMan()
 {
-	for (unsigned int i = 0; i < geno_fx_list.size(); i++) delete geno_fx_list[i];
+	for (unsigned int i = 0; i < oper_fx_list.size(); i++) delete oper_fx_list[i];
 	delete[] seloper;
 }
@@ -181,8 +181,8 @@
 void GenMan::setDefaults()
 {
-	for (unsigned int i = 0; i < geno_fx_list.size(); i++)
-	{
-		geno_fx_list[i]->par.setDefault();
-		geno_fx_list[i]->setDefaults();
+	for (unsigned int i = 0; i < oper_fx_list.size(); i++)
+	{
+		oper_fx_list[i]->par.setDefault();
+		oper_fx_list[i]->setDefaults();
 	}
 	localpar.setDefault();
@@ -194,5 +194,5 @@
 {
 	const char *gg = g.getGene();
-	GenoOperators *gf = getGeno_f(g.getFormat());
+	GenoOperators *gf = getOper_f(g.getFormat());
 	int check1;
 	if (!gf) { canvalidate = false; return GENOPER_NOOPER; }
@@ -228,5 +228,5 @@
 {
 	char format=geny.getFormat();
-	GenoOperators *gf=getGeno_f(format);
+	GenoOperators *gf=getOper_f(format);
 	if (gf==NULL)
 		return Geno(SString::empty(),-1,SString::empty(),SString::sprintf("GENOPER_NOOPER: Validate(): don't know how to handle genetic format %c",format));
@@ -246,5 +246,5 @@
 	int method; //mutation method
 	char format=g.getFormat();
-	GenoOperators *gf=getGeno_f(format);
+	GenoOperators *gf=getOper_f(format);
 	if (gf==NULL)
 		return Geno(SString::empty(),-1,SString::empty(),SString::sprintf("GENOPER_NOOPER: Mutate(): don't know how to handle genetic format %c",format));
@@ -292,5 +292,5 @@
 	char format = g1.getFormat();
 	if (format != g2.getFormat()) return Geno(SString::empty(), -1, SString::empty(), SString::sprintf("GENOPER_NOOPER: CrossOver() does not know how to handle parents with differing genetic formats (%c and %c)", format, g2.getFormat()));
-	GenoOperators *gf = getGeno_f(format);
+	GenoOperators *gf = getOper_f(format);
 	if (gf == NULL)
 		return Geno(SString::empty(), -1, SString::empty(), SString::sprintf("GENOPER_NOOPER: CrossOver(): don't know how to handle genetic format %c", format));
@@ -358,5 +358,5 @@
 	char format = g1.getFormat();
 	if (format != g2.getFormat()) return GENOPER_NOOPER;
-	GenoOperators *gf = getGeno_f(format);
+	GenoOperators *gf = getOper_f(format);
 	if (!gf) return GENOPER_NOOPER; else return gf->similarity(g1.getGene(), g2.getGene());
 }
@@ -366,5 +366,5 @@
 	Geno G(g);
 	if ((pos = G.mapStringToGen(pos)) == -1) return GENSTYLE_COMMENT;
-	GenoOperators *gf = getGeno_f(G.getFormat());
+	GenoOperators *gf = getOper_f(G.getFormat());
 	if (!gf) return GENSTYLE_CS(0, 0); //black & valid
 	else return gf->style(G.getGene(), pos);
@@ -374,5 +374,5 @@
 {
 	Geno G(g);
-	GenoOperators *gf = getGeno_f(G.getFormat());
+	GenoOperators *gf = getOper_f(G.getFormat());
 	SString geny = G.getGene();
 	for (unsigned int pos = 0; pos < strlen(g); pos++)
@@ -448,5 +448,5 @@
 Geno GenMan::GetSimplest(char format)
 {
-	GenoOperators *gf = getGeno_f(format);
+	GenoOperators *gf = getOper_f(format);
 	if (!gf) return Geno();
 	SString info = "The simplest genotype of format f"; info += format;
@@ -458,5 +458,5 @@
 {
 	int format = args[0].getInt() + 48;
-	if (!getGeno_f(format))
+	if (!getOper_f(format))
 		ret->setEmpty();
 	else
@@ -466,16 +466,16 @@
 const char *GenMan::GetOpName(char format)
 {
-	GenoOperators *gf = getGeno_f(format);
+	GenoOperators *gf = getOper_f(format);
 	if (!gf) return "n/a"; else return gf->name;
 }
 
-GenoOperators* GenMan::getGeno_f(char format)
+GenoOperators* GenMan::getOper_f(char format)
 {
 	int ind = operformats.find(format);
 	if (ind == -1) return NULL;
 	int ktoryopformatu = seloper[ind];
-	for (unsigned int i = 0; i < geno_fx_list.size(); i++)
-		if (geno_fx_list[i]->supported_format == format)
-			if (ktoryopformatu == 0) return geno_fx_list[i]; else ktoryopformatu--;
+	for (unsigned int i = 0; i < oper_fx_list.size(); i++)
+		if (oper_fx_list[i]->supported_format == format)
+			if (ktoryopformatu == 0) return oper_fx_list[i]; else ktoryopformatu--;
 	return NULL; //should never happen
 }
@@ -519,23 +519,24 @@
 {                      //should be updated to handle multiple operators for a single format
 	char *g, *g2;
-	float f; int m;
+	float f1, f2;
+	int m;
 	FramMessage("GenMan", "Report", "The following genetic operators are available:", 0);
-	for (unsigned int i = 0; i < geno_fx_list.size(); i++)
+	for (unsigned int i = 0; i < oper_fx_list.size(); i++)
 	{
 		SString l;
-		if (geno_fx_list[i]->checkValidity("") != GENOPER_NOOPER) l += " checkValidity";
-		if (geno_fx_list[i]->getSimplest())
-		{
-			g = strdup(geno_fx_list[i]->getSimplest());
+		if (oper_fx_list[i]->checkValidity("") != GENOPER_NOOPER) l += " checkValidity";
+		if (oper_fx_list[i]->getSimplest())
+		{
+			g = strdup(oper_fx_list[i]->getSimplest());
 			g2 = strdup(g);
-			if (geno_fx_list[i]->validate(g) != GENOPER_NOOPER) l += " validate";
-			if (geno_fx_list[i]->mutate(g, f, m) != GENOPER_NOOPER) l += " mutate";
-			if (geno_fx_list[i]->crossOver(g, g2, f, f) != GENOPER_NOOPER) l += " crossover";
+			if (oper_fx_list[i]->validate(g) != GENOPER_NOOPER) l += " validate";
+			if (oper_fx_list[i]->mutate(g, f1, m) != GENOPER_NOOPER) l += " mutate";
+			if (oper_fx_list[i]->crossOver(g, g2, f1, f2) != GENOPER_NOOPER) l += " crossover";
 			l += " getSimplest";
 			free(g); free(g2);
 		}
-		//      if (geno_fx_list[i]->similarity("","")!=GENOPER_NOOPER) l+=" similarity";
+		//      if (oper_fx_list[i]->similarity("","")!=GENOPER_NOOPER) l+=" similarity";
 		FMprintf("GenMan", "Report", 0, "format f%c (%s):%s",
-			geno_fx_list[i]->supported_format, (const char*)geno_fx_list[i]->name, (const char*)l);
+			oper_fx_list[i]->supported_format, (const char*)oper_fx_list[i]->name, (const char*)l);
 	}
 }
