unix-time 0.3.4 → 0.3.5
raw patch · 4 files changed
+20/−17 lines, 4 files
Files
- Data/UnixTime/Diff.hs +14/−7
- Data/UnixTime/Types.hsc +0/−7
- test/UnixTimeSpec.hs +5/−2
- unix-time.cabal +1/−1
Data/UnixTime/Diff.hs view
@@ -23,18 +23,25 @@ calcU sec usec = uncurry UnixTime . adjust sec $ usec -- | Arithmetic operations where (1::UnixDiffTime) means 1 second.+--+-- >>> (3 :: UnixDiffTime) + 2+-- UnixDiffTime {udtSeconds = 5, udtMicroSeconds = 0}+-- >>> (2 :: UnixDiffTime) - 5+-- UnixDiffTime {udtSeconds = -3, udtMicroSeconds = 0}+-- >>> (3 :: UnixDiffTime) * 2+-- UnixDiffTime {udtSeconds = 6, udtMicroSeconds = 0} 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)- UnixDiffTime s1 u1 * UnixDiffTime s2 u2 = calc' (s1*s2) (u1*u2)- negate (UnixDiffTime s u) = UnixDiffTime (-s) (-u)- abs (UnixDiffTime s u) = UnixDiffTime (abs s) (abs u)- signum (UnixDiffTime s u)+ UnixDiffTime s1 u1 + UnixDiffTime s2 u2 = calc (s1+s2) (u1+u2)+ UnixDiffTime s1 u1 - UnixDiffTime s2 u2 = calc (s1-s2) (u1-u2)+ UnixDiffTime s1 u1 * UnixDiffTime s2 u2 = calc' (s1*s2) (u1*u2)+ negate (UnixDiffTime s u) = UnixDiffTime (-s) (-u)+ abs (UnixDiffTime s u) = UnixDiffTime (abs s) (abs u)+ signum (UnixDiffTime s u) | s == 0 && u == 0 = 0 | s > 0 = 1 | otherwise = -1- fromInteger i = UnixDiffTime (fromInteger i) 0+ fromInteger i = UnixDiffTime (fromInteger i) 0 {-# RULES "Integral->UnixDiffTime" fromIntegral = secondsToUnixDiffTime #-}
Data/UnixTime/Types.hsc view
@@ -58,13 +58,6 @@ -- | -- Data structure for UnixTime diff. ----- >>> (3 :: UnixDiffTime) + 2--- UnixDiffTime {udtSeconds = 5, udtMicroSeconds = 0}--- >>> (2 :: UnixDiffTime) - 5--- UnixDiffTime {udtSeconds = -3, udtMicroSeconds = 0}--- >>> (3 :: UnixDiffTime) * 2--- UnixDiffTime {udtSeconds = 6, udtMicroSeconds = 0}--- -- It is up to the user to ensure that @'udtMicroSeconds' < 1000000@. -- Helpers such as 'Data.UnixTime.microSecondsToUnixDiffTime' can help -- you to create valid values. For example, it's a mistake to use
test/UnixTimeSpec.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE OverloadedStrings, FlexibleInstances #-}+{-# LANGUAGE OverloadedStrings, FlexibleInstances, CPP #-} {-# OPTIONS_GHC -fno-warn-orphans #-} module UnixTimeSpec (main, spec) where@@ -11,10 +11,13 @@ import Foreign.Ptr (Ptr) import Foreign.Marshal.Alloc (alloca) import Foreign.Storable (peek, poke)-import System.Locale (defaultTimeLocale) import Test.Hspec import Test.Hspec.QuickCheck (prop) import Test.QuickCheck++#if !MIN_VERSION_time(1,5,0)+import System.Locale (defaultTimeLocale)+#endif main :: IO () main = hspec spec
unix-time.cabal view
@@ -1,5 +1,5 @@ Name: unix-time-Version: 0.3.4+Version: 0.3.5 Author: Kazu Yamamoto <kazu@iij.ad.jp> Maintainer: Kazu Yamamoto <kazu@iij.ad.jp> License: BSD3