Replace math functions that promote float to double

This commit is contained in:
Carl Smedstad 2022-12-30 08:50:14 +01:00 committed by Simon Ser
parent d8212243c9
commit 9425ce2fba
5 changed files with 15 additions and 15 deletions

View File

@ -257,7 +257,7 @@ static void set_mode(struct wlr_output *output, struct wlr_output_state *pending
// Not all floating point integers can be represented exactly
// as (int)(1000 * mHz / 1000.f)
// round() the result to avoid any error
int mhz = (int)round(refresh_rate * 1000);
int mhz = (int)roundf(refresh_rate * 1000);
if (wl_list_empty(&output->modes) || custom) {
sway_log(SWAY_DEBUG, "Assigning custom mode to %s", output->name);

View File

@ -364,14 +364,14 @@ overlay:
}
static int scale_length(int length, int offset, float scale) {
return round((offset + length) * scale) - round(offset * scale);
return roundf((offset + length) * scale) - roundf(offset * scale);
}
void scale_box(struct wlr_box *box, float scale) {
box->width = scale_length(box->width, box->x, scale);
box->height = scale_length(box->height, box->y, scale);
box->x = round(box->x * scale);
box->y = round(box->y * scale);
box->x = roundf(box->x * scale);
box->y = roundf(box->y * scale);
}
struct sway_workspace *output_get_active_workspace(struct sway_output *output) {
@ -683,11 +683,11 @@ static void damage_surface_iterator(struct sway_output *output,
pixman_region32_init(&damage);
wlr_surface_get_effective_damage(surface, &damage);
wlr_region_scale(&damage, &damage, output->wlr_output->scale);
if (ceil(output->wlr_output->scale) > surface->current.scale) {
if (ceilf(output->wlr_output->scale) > surface->current.scale) {
// When scaling up a surface, it'll become blurry so we need to
// expand the damage region
wlr_region_expand(&damage, &damage,
ceil(output->wlr_output->scale) - surface->current.scale);
ceilf(output->wlr_output->scale) - surface->current.scale);
}
pixman_region32_translate(&damage, box.x, box.y);
if (wlr_damage_ring_add(&output->damage_ring, &damage)) {

View File

@ -50,7 +50,7 @@ struct render_data {
* scaled to 2px.
*/
static int scale_length(int length, int offset, float scale) {
return round((offset + length) * scale) - round(offset * scale);
return roundf((offset + length) * scale) - roundf(offset * scale);
}
static void scissor_output(struct wlr_output *wlr_output,
@ -482,7 +482,7 @@ static void render_titlebar(struct sway_output *output,
size_t inner_width = width - titlebar_h_padding * 2;
// output-buffer local
int ob_inner_x = round(inner_x * output_scale);
int ob_inner_x = roundf(inner_x * output_scale);
int ob_inner_width = scale_length(inner_width, inner_x, output_scale);
int ob_bg_height = scale_length(
(titlebar_v_padding - titlebar_border_thickness) * 2 +
@ -531,7 +531,7 @@ static void render_titlebar(struct sway_output *output,
memcpy(&color, colors->background, sizeof(float) * 4);
premultiply_alpha(color, con->alpha);
box.x = texture_box.x + round(output_x * output_scale);
box.y = round((y + titlebar_border_thickness) * output_scale);
box.y = roundf((y + titlebar_border_thickness) * output_scale);
box.width = texture_box.width;
box.height = ob_padding_above;
render_rect(output, output_damage, &box, color);
@ -562,7 +562,7 @@ static void render_titlebar(struct sway_output *output,
// The title texture might be shorter than the config->font_height,
// in which case we need to pad it above and below.
int ob_padding_above = round((titlebar_v_padding -
int ob_padding_above = roundf((titlebar_v_padding -
titlebar_border_thickness) * output_scale);
int ob_padding_below = ob_bg_height - ob_padding_above -
texture_box.height;
@ -607,7 +607,7 @@ static void render_titlebar(struct sway_output *output,
memcpy(&color, colors->background, sizeof(float) * 4);
premultiply_alpha(color, con->alpha);
box.x = texture_box.x + round(output_x * output_scale);
box.y = round((y + titlebar_border_thickness) * output_scale);
box.y = roundf((y + titlebar_border_thickness) * output_scale);
box.width = texture_box.width;
box.height = ob_padding_above;
render_rect(output, output_damage, &box, color);
@ -647,7 +647,7 @@ static void render_titlebar(struct sway_output *output,
box.width = ob_right_x - ob_left_x - ob_left_width;
if (box.width > 0) {
box.x = ob_left_x + ob_left_width + round(output_x * output_scale);
box.y = round(bg_y * output_scale);
box.y = roundf(bg_y * output_scale);
box.height = ob_bg_height;
render_rect(output, output_damage, &box, color);
}

View File

@ -726,7 +726,7 @@ static void handle_pointer_axis(struct sway_seat *seat,
seat_get_active_tiling_child(seat, tabcontainer);
list_t *siblings = container_get_siblings(cont);
int desired = list_find(siblings, active->sway_container) +
round(scroll_factor * event->delta_discrete / WLR_POINTER_AXIS_DISCRETE_STEP);
roundf(scroll_factor * event->delta_discrete / WLR_POINTER_AXIS_DISCRETE_STEP);
if (desired < 0) {
desired = 0;
} else if (desired >= siblings->length) {
@ -761,7 +761,7 @@ static void handle_pointer_axis(struct sway_seat *seat,
if (!handled) {
wlr_seat_pointer_notify_axis(cursor->seat->wlr_seat, event->time_msec,
event->orientation, scroll_factor * event->delta,
round(scroll_factor * event->delta_discrete), event->source);
roundf(scroll_factor * event->delta_discrete), event->source);
}
}

View File

@ -28,7 +28,7 @@ static void handle_pointer_axis(struct sway_seat *seat,
wlr_seat_pointer_notify_axis(seat->wlr_seat, event->time_msec,
event->orientation, scroll_factor * event->delta,
round(scroll_factor * event->delta_discrete), event->source);
roundf(scroll_factor * event->delta_discrete), event->source);
}
static void handle_button(struct sway_seat *seat, uint32_t time_msec,