about summary refs log tree commit diff
path: root/stdlib/div.c
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/div.c')
-rw-r--r--stdlib/div.c22
1 files changed, 0 insertions, 22 deletions
diff --git a/stdlib/div.c b/stdlib/div.c
index 44a30a7ea4..0f5569a5dd 100644
--- a/stdlib/div.c
+++ b/stdlib/div.c
@@ -59,27 +59,5 @@ div (numer, denom)
   result.quot = numer / denom;
   result.rem = numer % denom;
 
-  /* The ANSI standard says that |QUOT| <= |NUMER / DENOM|, where
-     NUMER / DENOM is to be computed in infinite precision.  In
-     other words, we should always truncate the quotient towards
-     zero, never -infinity.  Machine division and remainer may
-     work either way when one or both of NUMER or DENOM is
-     negative.  If only one is negative and QUOT has been
-     truncated towards -infinity, REM will have the same sign as
-     DENOM and the opposite sign of NUMER; if both are negative
-     and QUOT has been truncated towards -infinity, REM will be
-     positive (will have the opposite sign of NUMER).  These are
-     considered `wrong'.  If both are NUM and DENOM are positive,
-     RESULT will always be positive.  This all boils down to: if
-     NUMER >= 0, but REM < 0, we got the wrong answer.  In that
-     case, to get the right answer, add 1 to QUOT and subtract
-     DENOM from REM.  */
-
-  if (numer >= 0 && result.rem < 0)
-    {
-      ++result.quot;
-      result.rem -= denom;
-    }
-
   return result;
 }