Re: [PATCH 1/2] lib: Proportions with flexible period

From: Peter Zijlstra
Date: Thu May 17 2012 - 17:35:16 EST


On Tue, 2012-05-15 at 17:43 +0200, Jan Kara wrote:
> + if (numerator > ((long long)denominator) * max_frac / 100)

Does that even compile on 32bit archs?

Operator precedence is *,/ left-to-right, so that's:

long long t1 = (long long)denom * max_frac
long long t2 = t1 / 100;

Which is a 64bit signed division.

There's a reason I used that max_prop_frac thing you removed, it avoids
having to do the division at all and allows a mult and shift instead.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/