time-hourglass-0.2.13: tests/unix/TimeRange.hs
{-
This module depends on the operating system. This is the version for
Unix-like operating systems.
-}
module TimeRange
( loElapsed
, hiElapsed
, dateRange
) where
import Data.Int ( Int64 )
import Foreign.C.Types ( CTime )
import Foreign.Storable ( sizeOf )
isCTime64 :: Bool
isCTime64 = sizeOf (undefined :: CTime) == 8
loElapsed :: Int64
loElapsed =
if isCTime64
then -62135596800 -- ~ year 0
else -(2^(28 :: Int))
hiElapsed :: Int64
hiElapsed =
if isCTime64
then 2^(55 :: Int) -- in a future far far away
else 2^(29 :: Int) -- before the 2038 bug.
dateRange :: (Int, Int)
dateRange =
if isCTime64
then (1800, 2202)
else (1960, 2036)