{-# OPTIONS_GHC -XNoImplicitPrelude #-}
{-# OPTIONS_HADDOCK hide #-}

module GHC.Integer.Internals (Integer(..)) where

import GHC.Prim (Int#, ByteArray#)

-- Double isn't available yet, and we shouldn't be using defaults anyway:
default ()

-- | Arbitrary-precision integers.
data Integer
   = S# Int#                            -- small integers
#ifndef ILX
   | J# Int# ByteArray#                 -- large integers
#else
   | J# Void BigInteger                 -- .NET big ints

foreign type dotnet "BigInteger" BigInteger
#endif