Index: cpp/frams/genetics/fL/fL_matheval.cpp
===================================================================
--- cpp/frams/genetics/fL/fL_matheval.cpp	(revision 857)
+++ cpp/frams/genetics/fL/fL_matheval.cpp	(revision 896)
@@ -613,5 +613,5 @@
 void MathEvaluation::mutateValueOrVariable(MathEvaluation::Number *&currval, bool usetime)
 {
-	if (randomN(2) == 0 && varcount > 0) // use variable
+	if (rndUint(2) == 0 && varcount > 0) // use variable
 	{
 		if (currval && currval->type == TokenType::NUMBER)
@@ -619,5 +619,5 @@
 			delete currval;
 		}
-		int var = randomN(varcount + (usetime ? 1 : 0));
+		int var = rndUint(varcount + (usetime ? 1 : 0));
 		if (varcount == var) // time is used
 		{
@@ -633,9 +633,9 @@
 		if (!currval || currval->type == TokenType::VARIABLE)
 		{
-			currval = new Number(rnd01);
+			currval = new Number(rndDouble(1));
 		}
 		else
 		{
-			currval->value = rnd01;
+			currval->value = rndDouble(1);
 		}
 	}
@@ -654,5 +654,5 @@
 		count = operatorstrings.size() - arithmeticoperatorscount;
 	}
-	randop += randomN(count);
+	randop += rndUint(count);
 	return operators[operatorstrings[randop]];
 }
@@ -663,9 +663,9 @@
 	{
 		int currsize = postfixlist.size();
-		int varid = randomN(varcount);
+		int varid = rndUint(varcount);
 		postfixlist.push_back(vars[varid]);
-		if (randomN(2) == 0 && varcount > 1)
-		{
-			int varid2 = randomN(varcount - 1);
+		if (rndUint(2) == 0 && varcount > 1)
+		{
+			int varid2 = rndUint(varcount - 1);
 			if (varid2 >= varid) varid2++;
 			postfixlist.push_back(vars[varid2]);
@@ -673,8 +673,8 @@
 		else
 		{
-			Number *num = new Number(rnd01);
+			Number *num = new Number(rndDouble(1));
 			postfixlist.push_back(num);
 		}
-		int opid = arithmeticoperatorscount + randomN(comparisonoperatorscount);
+		int opid = arithmeticoperatorscount + rndUint(comparisonoperatorscount);
 		postfixlist.push_back(operators[operatorstrings[opid]]);
 		if (currsize > 0)
@@ -689,9 +689,9 @@
 	if (postfixlist.size() == 0)
 	{
-		Number *val = new Number(rnd01);
+		Number *val = new Number(rndDouble(1));
 		postfixlist.push_back(val);
 		return -1;
 	}
-	int method = randomN(postfixlist.size() < MAX_MUT_FORMULA_SIZE ? MATH_MUT_COUNT : MATH_MUT_COUNT - 1);
+	int method = rndUint(postfixlist.size() < MAX_MUT_FORMULA_SIZE ? MATH_MUT_COUNT : MATH_MUT_COUNT - 1);
 	switch (method)
 	{
@@ -704,5 +704,5 @@
 		std::list<Token *>::iterator it = postfixlist.begin();
 		// insertion can be applied from 1st occurrence
-		int insertlocation = 1 + randomN(postfixlist.size() - 1);
+		int insertlocation = 1 + rndUint(postfixlist.size() - 1);
 		std::advance(it, insertlocation);
 		Operator *rndop;
@@ -732,5 +732,5 @@
 			id++;
 		}
-		int randid = randomN(numbersineval.size());
+		int randid = rndUint(numbersineval.size());
 		Number *numptr = (Number *)(*numbersineval[randid]);
 		mutateValueOrVariable(numptr, usetime);
@@ -750,5 +750,5 @@
 		if (ops.size() > 0)
 		{
-			int randid = randomN(ops.size());
+			int randid = rndUint(ops.size());
 			Operator *rndop;
 			if (randid == (int)ops.size() - 1)
@@ -783,5 +783,5 @@
 		if (firstofpairs.size() > 0)
 		{
-			int rndid = randomN(firstofpairs.size());
+			int rndid = rndUint(firstofpairs.size());
 			if ((*firstofpairs[rndid])->type == TokenType::NUMBER)
 			{
Index: cpp/frams/genetics/fL/fL_oper.cpp
===================================================================
--- cpp/frams/genetics/fL/fL_oper.cpp	(revision 857)
+++ cpp/frams/genetics/fL/fL_oper.cpp	(revision 896)
@@ -133,5 +133,5 @@
 		if (newword->name.startsWith("rot"))
 		{
-			double rot = 2 * rnd01;
+			double rot = rndDouble(2);
 			MathEvaluation *eval = new MathEvaluation(0);
 			eval->convertString(SString::valueOf(rot).c_str());
@@ -149,5 +149,5 @@
 		{
 			MathEvaluation *eval = new MathEvaluation(0);
-			eval->convertString(SString::valueOf(2 * rnd01 - 1).c_str());
+			eval->convertString(SString::valueOf(rndDouble(2) - 1).c_str());
 			newword->parevals[0] = eval;
 		}
@@ -171,5 +171,5 @@
 	else
 	{
-		int rid = randomN(creature->rules.size());
+		int rid = rndUint(creature->rules.size());
 		list = &creature->rules[rid]->objsucc;
 		numparams = creature->rules[rid]->objpred->npar;
@@ -183,5 +183,5 @@
 	if (method == FL_ADD_OTHER && creature->builtincount < (int)creature->words.size())
 	{
-		return creature->words[creature->wordnames[creature->builtincount + randomN((int)creature->words.size() - creature->builtincount)]];
+		return creature->words[creature->wordnames[creature->builtincount + rndUint((int)creature->words.size() - creature->builtincount)]];
 	}
 	else
@@ -209,5 +209,5 @@
 		case FL_ADD_ROT:
 		{
-			int rottype = randomN(3);
+			int rottype = rndUint(3);
 			switch (rottype)
 			{
@@ -287,5 +287,5 @@
 		case FL_CHG_ITER:
 		{
-			if (randomN(2) == 0)
+			if (rndUint(2) == 0)
 			{
 				creature->time = creature->time + iterchangestep <= ExtValue::getDouble(FL_MAXITER) ?
@@ -303,5 +303,5 @@
 			if (creature->rules.size() > 0)
 			{
-				int ruleid = randomN(creature->rules.size());
+				int ruleid = rndUint(creature->rules.size());
 				if (!creature->rules[ruleid]->condeval)
 				{
@@ -340,5 +340,5 @@
 			if (wordswithnorules.size() > 0)
 			{
-				int predid = randomN(wordswithnorules.size());
+				int predid = rndUint(wordswithnorules.size());
 				fL_Rule *newrule = new fL_Rule(0,0);
 				fL_Word *pred = new fL_Word();
@@ -352,5 +352,5 @@
 			else if (creature->rules.size() > 0)
 			{
-				int ruleid = randomN(creature->rules.size());
+				int ruleid = rndUint(creature->rules.size());
 				fL_Rule *newrule = new fL_Rule(0, 0);
 				fL_Word *pred = new fL_Word();
@@ -392,5 +392,5 @@
 			if (creature->countDefinedWords() <= maxdefinedwords)
 			{
-				int npar = randomN(ExtValue::getInt(FL_MAXPARAMS, false));
+				int npar = rndUint(ExtValue::getInt(FL_MAXPARAMS, false));
 				for (int i = 0; i < maxdefinedwords; i++)
 				{
@@ -421,5 +421,5 @@
 				if (list->size() > 1)
 				{
-					int rndid = randomN(list->size() - 1);
+					int rndid = rndUint(list->size() - 1);
 					int j = 0;
 					std::list<fL_Word *>::iterator it = list->begin();
@@ -455,5 +455,5 @@
 			else
 			{
-				int rndid = randomN(list->size());
+				int rndid = rndUint(list->size());
 				std::list<fL_Word *>::iterator it = list->begin();
 				std::advance(it, rndid);
@@ -482,5 +482,5 @@
 			int tmp = 0;
 			std::list<fL_Word *> *list = selectRandomSequence(creature, numpars, tmp);
-			int rndid = randomN(list->size());
+			int rndid = rndUint(list->size());
 			std::list<fL_Word *>::iterator it = list->begin();
 			std::advance(it, rndid);
@@ -512,5 +512,5 @@
 				fL_Branch *start = new fL_Branch(fL_Branch::BranchType::OPEN, 0, 0);
 				list->insert(it, start);
-				int rottype = randomN(2);
+				int rottype = rndUint(2);
 				switch (rottype)
 				{
@@ -531,5 +531,5 @@
 			int tmp = 0;
 			std::list<fL_Word *> *list = selectRandomSequence(creature, numpars, tmp);
-			int rndid = randomN(list->size());
+			int rndid = rndUint(list->size());
 			std::list<fL_Word *>::iterator selectedword = list->begin();
 			std::advance(selectedword, rndid);
@@ -545,5 +545,5 @@
 				int numpars = 0;
 				std::list<fL_Word *> *list = selectRandomSequence(creature, numpars, tmp);
-				int rndid = randomN(list->size());
+				int rndid = rndUint(list->size());
 				std::list<fL_Word *>::iterator it = list->begin();
 				std::advance(it, rndid);
@@ -577,5 +577,5 @@
 					if (available.size() > 0)
 					{
-						int newnameid = randomN(available.size());
+						int newnameid = rndUint(available.size());
 						(*selectedword)->name = available[newnameid]->name;
 					}
@@ -593,5 +593,5 @@
 				if ((*selectedword)->npar > 0)
 				{
-					int randeval = randomN((*selectedword)->npar);
+					int randeval = rndUint((*selectedword)->npar);
 					Param par((*selectedword)->tab, (*selectedword)->data);
 					if ((*selectedword)->builtin && (*selectedword)->name == "N"
@@ -614,5 +614,5 @@
 							if (w->npar > 0)
 							{
-								int rndattr = randomN(w->npar);
+								int rndattr = rndUint(w->npar);
 								if (!w->parevals[rndattr])
 								{
@@ -638,5 +638,5 @@
 								if (w->npar > 0)
 								{
-									int rndattr = randomN(w->npar);
+									int rndattr = rndUint(w->npar);
 									for (int i = 0; i < w->npar; i++)
 									{
@@ -752,5 +752,5 @@
 		for (int i = 0; i < numselrules; i++)
 		{
-			int rulid = randomN(from->rules.size());
+			int rulid = rndUint(from->rules.size());
 			fL_Rule *rul = from->rules[rulid];
 			fL_Rule *newrule = new fL_Rule(0, 0);
@@ -841,10 +841,10 @@
 	creature2template->parseGenotype(g2);
 
-	int numselrules = 1 + randomN(XOVER_MAX_MIGRATED_RULES);
+	int numselrules = 1 + rndUint(XOVER_MAX_MIGRATED_RULES);
 	numselrules = numselrules < (int)creature1->rules.size() ? numselrules : (int)creature1->rules.size();
 
 	migrateRandomRules(creature1template, creature2, numselrules);
 
-	numselrules = 1 + randomN(XOVER_MAX_MIGRATED_RULES);
+	numselrules = 1 + rndUint(XOVER_MAX_MIGRATED_RULES);
 	numselrules = numselrules < (int)creature1->rules.size() ? numselrules : (int)creature1->rules.size();
 
