projects
/
ghc-base.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Performance improvement for division: got rid of an unnecessary branching in cases...
[ghc-base.git]
/
GHC
/
Real.lhs
diff --git
a/GHC/Real.lhs
b/GHC/Real.lhs
index
be2a296
..
fa70ded
100644
(file)
--- a/
GHC/Real.lhs
+++ b/
GHC/Real.lhs
@@
-245,32
+245,32
@@
instance Integral Int where
a `quot` b
| b == 0 = divZeroError
a `quot` b
| b == 0 = divZeroError
- | a == minBound && b == (-1) = overflowError
+ | b == (-1) && a == minBound = overflowError
| otherwise = a `quotInt` b
a `rem` b
| b == 0 = divZeroError
| otherwise = a `quotInt` b
a `rem` b
| b == 0 = divZeroError
- | a == minBound && b == (-1) = overflowError
+ | b == (-1) && a == minBound = overflowError
| otherwise = a `remInt` b
a `div` b
| b == 0 = divZeroError
| otherwise = a `remInt` b
a `div` b
| b == 0 = divZeroError
- | a == minBound && b == (-1) = overflowError
+ | b == (-1) && a == minBound = overflowError
| otherwise = a `divInt` b
a `mod` b
| b == 0 = divZeroError
| otherwise = a `divInt` b
a `mod` b
| b == 0 = divZeroError
- | a == minBound && b == (-1) = overflowError
+ | b == (-1) && a == minBound = overflowError
| otherwise = a `modInt` b
a `quotRem` b
| b == 0 = divZeroError
| otherwise = a `modInt` b
a `quotRem` b
| b == 0 = divZeroError
- | a == minBound && b == (-1) = overflowError
+ | b == (-1) && a == minBound = overflowError
| otherwise = a `quotRemInt` b
a `divMod` b
| b == 0 = divZeroError
| otherwise = a `quotRemInt` b
a `divMod` b
| b == 0 = divZeroError
- | a == minBound && b == (-1) = overflowError
+ | b == (-1) && a == minBound = overflowError
| otherwise = a `divModInt` b
\end{code}
| otherwise = a `divModInt` b
\end{code}