nitpick about useless floating point division in gimme_edge_table

Started by Mark Dilgerover 6 years ago2 messages
#1Mark Dilger
hornschnorter@gmail.com

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Mark Dilger (#1)
Re: nitpick about useless floating point division in gimme_edge_table

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