12345678910111213141516171819202122232425262728293031 |
- .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 they will silently truncate.
|