packages feed

unix-time 0.0.3 → 0.1.0

raw patch · 2 files changed

+18/−5 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Data.UnixTime: microSecondsToUnixDiffTime :: Int -> UnixDiffTime
+ Data.UnixTime: microSecondsToUnixDiffTime :: Integral a => a -> UnixDiffTime
- Data.UnixTime: secondsToUnixDiffTime :: Int -> UnixDiffTime
+ Data.UnixTime: secondsToUnixDiffTime :: Integral a => a -> UnixDiffTime

Files

Data/UnixTime/Diff.hs view
@@ -22,6 +22,7 @@ calcU :: CTime -> Int32 -> UnixTime calcU sec usec = uncurry UnixTime . ajust sec $ usec +-- | Arithmetic operations where (1::UnixDiffTime) means 1 second. instance Num UnixDiffTime where 	UnixDiffTime s1 u1 + UnixDiffTime s2 u2 = calc (s1+s2) (u1+u2) 	UnixDiffTime s1 u1 - UnixDiffTime s2 u2 = calc (s1-s2) (u1-u2)@@ -32,9 +33,15 @@          | s == 0 && u == 0 = 0          | s > 0            = 1          | otherwise        = -1-	fromInteger i = UnixDiffTime (fromInteger s) (fromInteger u)-         where (s,u) = secondMicro i+	fromInteger i = UnixDiffTime (fromInteger i) 0 +{-# RULES "Integral->UnixDiffTime" fromIntegral = secondsToUnixDiffTime #-}++instance Real UnixDiffTime where+        toRational = toFractional++{-# RULES "UnixDiffTime->Fractional" realToFrac = toFractional #-}+ ----------------------------------------------------------------  -- | Calculating difference between two 'UnixTime'.@@ -46,14 +53,16 @@ addUnixDiffTime (UnixTime s1 u1) (UnixDiffTime s2 u2) = calcU (s1+s2) (u1+u2)  -- | Creating difference from seconds.-secondsToUnixDiffTime :: Int -> UnixDiffTime+secondsToUnixDiffTime :: (Integral a) => a -> UnixDiffTime secondsToUnixDiffTime sec = UnixDiffTime (fromIntegral sec) 0+{-# INLINE secondsToUnixDiffTime #-}  -- | Creating difference from micro seconds.-microSecondsToUnixDiffTime :: Int -> UnixDiffTime+microSecondsToUnixDiffTime :: (Integral a) => a -> UnixDiffTime microSecondsToUnixDiffTime usec = calc (fromIntegral s) (fromIntegral u)   where     (s,u) = secondMicro usec+{-# INLINE microSecondsToUnixDiffTime #-}  ---------------------------------------------------------------- @@ -80,3 +89,7 @@  secondMicro :: Integral a => a -> (a,a) secondMicro usec = usec `quotRem` 1000000++toFractional :: Fractional a => UnixDiffTime -> a+toFractional (UnixDiffTime s u) = realToFrac s + realToFrac u / 1000000+{-# SPECIALIZE toFractional :: UnixDiffTime -> Double #-}
unix-time.cabal view
@@ -1,5 +1,5 @@ Name:                   unix-time-Version:                0.0.3+Version:                0.1.0 Author:                 Kazu Yamamoto <kazu@iij.ad.jp> Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp> License:                BSD3