Krasimir Angelov wrote:
Well I actually did, almost. I added this function:
quotX :: Int - Int - Int
a `quotX` b
| b == 0 = error divZeroError
| b == (-1) a == minBound = error overflowError
| otherwise = a `quotInt` b
It does the right
How mod is affected by the change in quot? Currently mod is defined as:
a `mod` b
| b == 0 = divZeroError
| a == minBound b == (-1) = overflowError
| otherwise = a `modInt` b
and modInt is defined via remInt# which is primitive. Did you
Well I actually did, almost. I added this function:
quotX :: Int - Int - Int
a `quotX` b
| b == 0 = error divZeroError
| b == (-1) a == minBound = error overflowError
| otherwise = a `quotInt` b
It does the right thing. However to be sure that this