Plan 9 from Bell Labs’s /usr/web/sources/patch/sorry/muldivman/muldiv

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


.TH MULDIV 2
.SH NAME
muldiv, umuldiv \- high-precision multiplication and division
.SH SYNOPSIS
.B #include <u.h>
.br
.B #include <libc.h>
.PP
.B
long muldiv(long a, long b, long c)
.PP
.B
ulong umuldiv(ulong a, ulong b, ulong c)
.SH DESCRIPTION
.I Muldiv
returns
.BR a*b/c ,
using a
.B vlong
to hold the intermediate result.
.I Umuldiv
is the equivalent for unsigned integers.
They can be used to scale integer values without worry about
overflowing the intermediate result.
.PP
On some architectures, these routines can generate a trap if the
final result does not fit in a
.B long
or
.BR ulong ;
on others
.BR abort (2)
is called to avoid slient truncation.
.SH SOURCE
.B /sys/src/libc/port

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].