ref: b143811a53bf25824e74b7e6e6c2ee7af8c7a954
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; }