ref: 7af5442d3b031a3f81ea5c25c88f99692fb16822
dir: /sys/src/libc/port/muldiv.c/
#include <u.h>
#include <libc.h>
ulong
umuldiv(ulong a, ulong b, ulong c)
{
return ((uvlong)a * (uvlong)b) / c;
}
long
muldiv(long a, long b, long c)
{
int s;
long v;
s = 0;
if(a < 0) {
s = !s;
a = -a;
}
if(b < 0) {
s = !s;
b = -b;
}
if(c < 0) {
s = !s;
c = -c;
}
v = umuldiv(a, b, c);
if(s)
v = -v;
return v;
}