- #define RAST_ADDR(raster, x, y, stride) ((raster) + (y) * (stride) + (x) / 8)
- #define RAST_MASK(raster, x, y) (1 << (7 - (x) % 8))
+ /* We use ucoord_t to let the compiler optimize away the division/modulo. */
+ #define RAST_ADDR(raster, x, y, stride) \
+ ((raster) + (ucoord_t)(y) * (ucoord_t)(stride) + (ucoord_t)(x) / 8)
+ #define RAST_MASK(raster, x, y) \
+ (1 << (7 - (ucoord_t)(x) % 8))