ref: 5b66b52623748f00ff1e48013b8136391454af57
parent: c0a9c3b551ed5d9b3a9d8389e36a3eb059662702
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sun Sep 11 19:19:18 EDT 2016
libc: dont use floating point for portable umuldiv(), use 64 bit uvlong
--- a/sys/src/libc/port/muldiv.c
+++ b/sys/src/libc/port/muldiv.c
@@ -4,12 +4,7 @@
ulong
umuldiv(ulong a, ulong b, ulong c)
{
- double d;
-
- d = ((double)a * (double)b) / (double)c;
- if(d >= 4294967296.)
- abort();
- return d;
+ return ((uvlong)a * (uvlong)b) / c;
}
long