nitpick about useless floating point division in gimme_edge_table
Hackers,
The return value of gimme_edge_table is not used anywhere in the
core code, so far as I can see. But the value is computed as
/* return average number of edges per index */
return ((float) (edge_total * 2) / (float) num_gene);
which involves some floating point math. I'm not sure that this matters
much, but (1) it deceives a reader of this code into thinking that this
calculation is meaningful, which it is not, and (2) gimme_edge_table is
called inside a loop, so this is happening repeatedly, though admittedly
that loop is perhaps not terribly large.
mark
Mark Dilger <hornschnorter@gmail.com> writes:
Hackers,
The return value of gimme_edge_table is not used anywhere in the
core code, so far as I can see. But the value is computed as
/* return average number of edges per index */
return ((float) (edge_total * 2) / (float) num_gene);
which involves some floating point math. I'm not sure that this matters
much, but (1) it deceives a reader of this code into thinking that this
calculation is meaningful, which it is not, and (2) gimme_edge_table is
called inside a loop, so this is happening repeatedly, though admittedly
that loop is perhaps not terribly large.
Hmm, probably there was use for that once upon a time, but I agree it's
dead code now. Want to send a patch to change it to returns-void?
regards, tom lane