WRaster: Changed formula for reconverting angle to the (0-360) bounds
authorChristophe CURIS <christophe.curis@free.fr>
Sun, 16 Jun 2013 19:51:02 +0000 (16 21:51 +0200)
committerCarlos R. Mafra <crmafra@gmail.com>
Mon, 17 Jun 2013 00:54:06 +0000 (17 01:54 +0100)
There is a dedicaded floating point modulo operator that does a
better job (faster, no precision loss), so we use it instead of the
complicated formula that uses type conversions.

Signed-off-by: Christophe CURIS <christophe.curis@free.fr>
wrlib/rotate.c

index d296815..f04b95e 100644 (file)
@@ -52,7 +52,9 @@ RImage *RRotateImage(RImage * image, float angle)
         */
        static const float min_usable_angle = 0.00699;
 
-       angle = ((int)angle % 360) + (angle - (int)angle);
+       angle = fmod(angle, 360.0);
+       if (angle < 0.0)
+               angle += 360.0;
 
        if (angle < min_usable_angle) {
                /* Rotate by 0 degree */