diff options
Diffstat (limited to 'man3/roundup.3')
-rw-r--r-- | man3/roundup.3 | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/man3/roundup.3 b/man3/roundup.3 new file mode 100644 index 0000000..d21949e --- /dev/null +++ b/man3/roundup.3 @@ -0,0 +1,56 @@ +.\" Copyright (C) 2023 Alejandro Colomar <alx@kernel.org> +.\" +.\" SPDX-License-Identifier: Linux-man-pages-copyleft +.\" +.TH roundup 3 2023-03-30 "Linux man-pages 6.05.01" +.SH NAME +roundup \- round up in steps +.SH LIBRARY +Standard C library +.RI ( libc ) +.SH SYNOPSIS +.nf +.B #include <sys/param.h> +.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 +None. +.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) |