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