Blame


1 cfa37a7b 2004-04-10 devnull .TH MULDIV 3
2 cfa37a7b 2004-04-10 devnull .SH NAME
3 cfa37a7b 2004-04-10 devnull muldiv, umuldiv \- high-precision multiplication and division
4 cfa37a7b 2004-04-10 devnull .SH SYNOPSIS
5 cfa37a7b 2004-04-10 devnull .B #include <u.h>
6 cfa37a7b 2004-04-10 devnull .br
7 cfa37a7b 2004-04-10 devnull .B #include <libc.h>
8 cfa37a7b 2004-04-10 devnull .PP
9 cfa37a7b 2004-04-10 devnull .B
10 c8b6342d 2005-01-13 devnull long muldiv(long a, long b, long c)
11 cfa37a7b 2004-04-10 devnull .PP
12 cfa37a7b 2004-04-10 devnull .B
13 cfa37a7b 2004-04-10 devnull ulong umuldiv(ulong a, ulong b, ulong c)
14 cfa37a7b 2004-04-10 devnull .SH DESCRIPTION
15 cfa37a7b 2004-04-10 devnull .I Muldiv
16 cfa37a7b 2004-04-10 devnull returns
17 cfa37a7b 2004-04-10 devnull .BR a*b/c ,
18 cfa37a7b 2004-04-10 devnull using a
19 cfa37a7b 2004-04-10 devnull .B vlong
20 cfa37a7b 2004-04-10 devnull to hold the intermediate result.
21 cfa37a7b 2004-04-10 devnull .I Umuldiv
22 cfa37a7b 2004-04-10 devnull is the equivalent for unsigned integers.
23 cfa37a7b 2004-04-10 devnull They can be used to scale integer values without worry about
24 cfa37a7b 2004-04-10 devnull overflowing the intermediate result.
25 cfa37a7b 2004-04-10 devnull .PP
26 cfa37a7b 2004-04-10 devnull On some architectures, these routines can generate a trap if the
27 cfa37a7b 2004-04-10 devnull final result does not fit in a
28 cfa37a7b 2004-04-10 devnull .B long
29 cfa37a7b 2004-04-10 devnull or
30 cfa37a7b 2004-04-10 devnull .BR ulong ;
31 cfa37a7b 2004-04-10 devnull on others they will silently truncate.