.\" Copyright (C) 2023 Alejandro Colomar .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .TH roundup 3 2023-01-19 "Linux man-pages 6.03" .SH NAME roundup \- round up in steps .SH LIBRARY Standard C library .RI ( libc ) .SH SYNOPSIS .nf .B #include .PP .BI roundup( x ", " step ); .fi .SH DESCRIPTION This macro rounds .I x to the nearest multiple of .I step that is not less than .IR x . .PP It is typically used for rounding up a pointer to align it or increasing a buffer to be allocated. .PP This API is not designed to be generic, and doesn't work in some cases that are not important for the typical use cases described above. See CAVEATS. .SH RETURN VALUE This macro returns the rounded value. .SH STANDARDS This nonstandard macro is present in glibc and some BSDs. .SH CAVEATS The arguments may be evaluated more than once. .PP .I x should be nonnegative, and .I step should be positive. .PP If .I x + step would overflow or wrap around, the behavior is undefined. .SH SEE ALSO .BR ceil (3), .BR floor (3), .BR lrint (3), .BR rint (3), .BR lround (3), .BR round (3)