[galib] Error initializing floats
Fábio Roberto Teodoro
fr.teodoro at gmail.com
Sun May 25 16:38:35 EDT 2008
Doing some experiments with the GARealGenome, i stated that if the lower bound
of gene is -inf (-std::numeric_limits<float>::infinity()) the GARandomFloat()
always return -nan. I think that, for example: if i set the allele as [-inf,
+inf] it should return any float.
Follow is the excerpt from my debug session:
GARandomFloat (low=-inf, high=inf) at /usr/include/ga/garandom.h:106
106 float val=high-low; val*=_GA_RND(); return val+low;
(gdb) print val
$47 = inf
(gdb) print val+low
$48 = -nan(0x8000000000000)
Now I can't think of a solution for this, or maybe this can be done in another
way in GAlib.
If this is really a bug I'll try to fix it and post a patch to this list.
Any sugestion is wellcome.
More information about the galib