Skip to content
Snippets Groups Projects
Commit de134177 authored by Gabor Greif's avatar Gabor Greif :speech_balloon:
Browse files

track integer-gmp and add 'divInteger', 'modInteger'

parent 47737f6f
No related branches found
No related tags found
No related merge requests found
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
-- | -- |
-- Module : GHC.Integer -- Module : GHC.Integer
-- Copyright : (c) Ian Lynagh 2007-2008 -- Copyright : (c) Ian Lynagh 2007-2012
-- License : BSD3 -- License : BSD3
-- --
-- Maintainer : igloo@earth.li -- Maintainer : igloo@earth.li
...@@ -27,6 +27,7 @@ module GHC.Integer ( ...@@ -27,6 +27,7 @@ module GHC.Integer (
plusInteger, minusInteger, timesInteger, negateInteger, plusInteger, minusInteger, timesInteger, negateInteger,
eqInteger, neqInteger, absInteger, signumInteger, eqInteger, neqInteger, absInteger, signumInteger,
leInteger, gtInteger, ltInteger, geInteger, compareInteger, leInteger, gtInteger, ltInteger, geInteger, compareInteger,
divInteger, modInteger,
divModInteger, quotRemInteger, quotInteger, remInteger, divModInteger, quotRemInteger, quotInteger, remInteger,
encodeFloatInteger, decodeFloatInteger, floatFromInteger, encodeFloatInteger, decodeFloatInteger, floatFromInteger,
encodeDoubleInteger, decodeDoubleInteger, doubleFromInteger, encodeDoubleInteger, decodeDoubleInteger, doubleFromInteger,
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
-- | -- |
-- Module : GHC.Integer.Type -- Module : GHC.Integer.Type
-- Copyright : (c) Ian Lynagh 2007-2008 -- Copyright : (c) Ian Lynagh 2007-2012
-- License : BSD3 -- License : BSD3
-- --
-- Maintainer : igloo@earth.li -- Maintainer : igloo@earth.li
...@@ -370,6 +370,16 @@ n `divModInteger` d = ...@@ -370,6 +370,16 @@ n `divModInteger` d =
then (# q `minusInteger` oneInteger, r `plusInteger` d #) then (# q `minusInteger` oneInteger, r `plusInteger` d #)
else (# q, r #) else (# q, r #)
{-# NOINLINE divInteger #-}
divInteger :: Integer -> Integer -> Integer
n `divInteger` d = quotient
where (# quotient, _ #) = n `divModInteger` d
{-# NOINLINE modInteger #-}
modInteger :: Integer -> Integer -> Integer
n `modInteger` d = modulus
where (# _, modulus #) = n `divModInteger` d
{-# NOINLINE quotRemInteger #-} {-# NOINLINE quotRemInteger #-}
quotRemInteger :: Integer -> Integer -> (# Integer, Integer #) quotRemInteger :: Integer -> Integer -> (# Integer, Integer #)
Naught `quotRemInteger` (!_) = (# Naught, Naught #) Naught `quotRemInteger` (!_) = (# Naught, Naught #)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment