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