Pavel Löbl d13ba7ca53 Fix floating precision bug
When calculating coordinates we should multiply at first otherwise
we lose precision when i3 is compiled without sse2 support.

The following code prints "Res1: 348 Res2: 349" when compiled with
-O0 -mno-sse2 and "Res1: 349 Res2: 349" with -O0 -msee2.

Note that -msse2 is default flag on 64bit OSes.

int main() {
  double a = 349.0 / 768;
  double b = 349.0 * 768;
  int res1 = a * 768;
  int res2 = b / 768;
  printf("Res1: %d Res2: %d\n", res1, res2);
  return 0;
}

Thanks guys for helping me to hunt down this one.
2012-05-06 14:13:59 +02:00
2012-05-06 14:13:59 +02:00
2009-02-09 20:56:29 +01:00
2011-08-28 17:44:42 +02:00
2011-08-28 17:44:42 +02:00
2011-08-28 17:44:42 +02:00
2011-11-11 21:47:43 +00:00
2012-04-25 23:06:39 +02:00
Description
No description provided
15 MiB
Languages
C 58.6%
Perl 29%
Raku 9.4%
Ruby 1.2%
Shell 0.7%
Other 1.1%