Обсуждение: nitpick about useless floating point division in gimme_edge_table

Поиск
Список
Период
Сортировка

nitpick about useless floating point division in gimme_edge_table

От
Mark Dilger
Дата:
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



Re: nitpick about useless floating point division in gimme_edge_table

От
Tom Lane
Дата:
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