{-# LANGUAGE Trustworthy #-}moduleData.Time.Clock.Internal.NominalDiffTime(NominalDiffTime ,secondsToNominalDiffTime ,nominalDiffTimeToSeconds ,nominalDay ,)whereimportControl.DeepSeqimportData.DataimportData.FixedimportGHC.ReadimportText.ParserCombinators.ReadPimportText.ParserCombinators.ReadPrec-- | This is a length of time, as measured by UTC.-- It has a precision of 10^-12 s.---- Conversion functions such as 'fromInteger' and 'realToFrac' will treat it as seconds.-- For example, @(0.010 :: NominalDiffTime)@ corresponds to 10 milliseconds.---- It has a precision of one picosecond (= 10^-12 s). Enumeration functions will treat it as picoseconds.---- It ignores leap-seconds, so it's not necessarily a fixed amount of clock time.-- For instance, 23:00 UTC + 2 hours of NominalDiffTime = 01:00 UTC (+ 1 day),-- regardless of whether a leap-second intervened.newtypeNominalDiffTime =MkNominalDiffTime Picoderiving(NominalDiffTime -> NominalDiffTime -> Bool
(NominalDiffTime -> NominalDiffTime -> Bool)
-> (NominalDiffTime -> NominalDiffTime -> Bool)
-> Eq NominalDiffTime
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: NominalDiffTime -> NominalDiffTime -> Bool
$c/= :: NominalDiffTime -> NominalDiffTime -> Bool
== :: NominalDiffTime -> NominalDiffTime -> Bool
$c== :: NominalDiffTime -> NominalDiffTime -> Bool
Eq,Eq NominalDiffTime
Eq NominalDiffTime
-> (NominalDiffTime -> NominalDiffTime -> Ordering)
-> (NominalDiffTime -> NominalDiffTime -> Bool)
-> (NominalDiffTime -> NominalDiffTime -> Bool)
-> (NominalDiffTime -> NominalDiffTime -> Bool)
-> (NominalDiffTime -> NominalDiffTime -> Bool)
-> (NominalDiffTime -> NominalDiffTime -> NominalDiffTime)
-> (NominalDiffTime -> NominalDiffTime -> NominalDiffTime)
-> Ord NominalDiffTime
NominalDiffTime -> NominalDiffTime -> Bool
NominalDiffTime -> NominalDiffTime -> Ordering
NominalDiffTime -> NominalDiffTime -> NominalDiffTime
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime
$cmin :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime
max :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime
$cmax :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime
>= :: NominalDiffTime -> NominalDiffTime -> Bool
$c>= :: NominalDiffTime -> NominalDiffTime -> Bool
> :: NominalDiffTime -> NominalDiffTime -> Bool
$c> :: NominalDiffTime -> NominalDiffTime -> Bool
<= :: NominalDiffTime -> NominalDiffTime -> Bool
$c<= :: NominalDiffTime -> NominalDiffTime -> Bool
< :: NominalDiffTime -> NominalDiffTime -> Bool
$c< :: NominalDiffTime -> NominalDiffTime -> Bool
compare :: NominalDiffTime -> NominalDiffTime -> Ordering
$ccompare :: NominalDiffTime -> NominalDiffTime -> Ordering
$cp1Ord :: Eq NominalDiffTime
Ord,Typeable NominalDiffTime
DataType
Constr
Typeable NominalDiffTime
-> (forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> NominalDiffTime -> c NominalDiffTime)
-> (forall (c :: * -> *).
 (forall b r. Data b => c (b -> r) -> c r)
 -> (forall r. r -> c r) -> Constr -> c NominalDiffTime)
-> (NominalDiffTime -> Constr)
-> (NominalDiffTime -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
 Typeable t =>
 (forall d. Data d => c (t d)) -> Maybe (c NominalDiffTime))
-> (forall (t :: * -> * -> *) (c :: * -> *).
 Typeable t =>
 (forall d e. (Data d, Data e) => c (t d e))
 -> Maybe (c NominalDiffTime))
-> ((forall b. Data b => b -> b)
 -> NominalDiffTime -> NominalDiffTime)
-> (forall r r'.
 (r -> r' -> r)
 -> r -> (forall d. Data d => d -> r') -> NominalDiffTime -> r)
-> (forall r r'.
 (r' -> r -> r)
 -> r -> (forall d. Data d => d -> r') -> NominalDiffTime -> r)
-> (forall u.
 (forall d. Data d => d -> u) -> NominalDiffTime -> [u])
-> (forall u.
 Int -> (forall d. Data d => d -> u) -> NominalDiffTime -> u)
-> (forall (m :: * -> *).
 Monad m =>
 (forall d. Data d => d -> m d)
 -> NominalDiffTime -> m NominalDiffTime)
-> (forall (m :: * -> *).
 MonadPlus m =>
 (forall d. Data d => d -> m d)
 -> NominalDiffTime -> m NominalDiffTime)
-> (forall (m :: * -> *).
 MonadPlus m =>
 (forall d. Data d => d -> m d)
 -> NominalDiffTime -> m NominalDiffTime)
-> Data NominalDiffTime
NominalDiffTime -> DataType
NominalDiffTime -> Constr
(forall b. Data b => b -> b) -> NominalDiffTime -> NominalDiffTime
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> NominalDiffTime -> c NominalDiffTime
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c NominalDiffTime
forall a.
Typeable a
-> (forall (c :: * -> *).
 (forall d b. Data d => c (d -> b) -> d -> c b)
 -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
 (forall b r. Data b => c (b -> r) -> c r)
 -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
 Typeable t =>
 (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
 Typeable t =>
 (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
 (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
 (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
 Monad m =>
 (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
 MonadPlus m =>
 (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
 MonadPlus m =>
 (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> NominalDiffTime -> u
forall u. (forall d. Data d => d -> u) -> NominalDiffTime -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> NominalDiffTime -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> NominalDiffTime -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> NominalDiffTime -> m NominalDiffTime
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> NominalDiffTime -> m NominalDiffTime
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c NominalDiffTime
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> NominalDiffTime -> c NominalDiffTime
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c NominalDiffTime)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c NominalDiffTime)
$cMkNominalDiffTime :: Constr
$tNominalDiffTime :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> NominalDiffTime -> m NominalDiffTime
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> NominalDiffTime -> m NominalDiffTime
gmapMp :: (forall d. Data d => d -> m d)
-> NominalDiffTime -> m NominalDiffTime
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> NominalDiffTime -> m NominalDiffTime
gmapM :: (forall d. Data d => d -> m d)
-> NominalDiffTime -> m NominalDiffTime
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> NominalDiffTime -> m NominalDiffTime
gmapQi :: Int -> (forall d. Data d => d -> u) -> NominalDiffTime -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> NominalDiffTime -> u
gmapQ :: (forall d. Data d => d -> u) -> NominalDiffTime -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> NominalDiffTime -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> NominalDiffTime -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> NominalDiffTime -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> NominalDiffTime -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> NominalDiffTime -> r
gmapT :: (forall b. Data b => b -> b) -> NominalDiffTime -> NominalDiffTime
$cgmapT :: (forall b. Data b => b -> b) -> NominalDiffTime -> NominalDiffTime
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c NominalDiffTime)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c NominalDiffTime)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c NominalDiffTime)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c NominalDiffTime)
dataTypeOf :: NominalDiffTime -> DataType
$cdataTypeOf :: NominalDiffTime -> DataType
toConstr :: NominalDiffTime -> Constr
$ctoConstr :: NominalDiffTime -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c NominalDiffTime
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c NominalDiffTime
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> NominalDiffTime -> c NominalDiffTime
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> NominalDiffTime -> c NominalDiffTime
$cp1Data :: Typeable NominalDiffTime
Data,Typeable)-- | Create a 'NominalDiffTime' from a number of seconds.---- @since 1.9.1secondsToNominalDiffTime ::Pico->NominalDiffTime secondsToNominalDiffTime :: Pico -> NominalDiffTime
secondsToNominalDiffTime =Pico -> NominalDiffTime
MkNominalDiffTime -- | Get the seconds in a 'NominalDiffTime'.---- @since 1.9.1nominalDiffTimeToSeconds ::NominalDiffTime ->PiconominalDiffTimeToSeconds :: NominalDiffTime -> Pico
nominalDiffTimeToSeconds (MkNominalDiffTime Pico
t )=Pico
t instanceNFDataNominalDiffTime wherernf :: NominalDiffTime -> ()
rnf(MkNominalDiffTime Pico
t )=Pico -> ()
forall a. NFData a => a -> ()
rnfPico
t instanceEnumNominalDiffTime wheresucc :: NominalDiffTime -> NominalDiffTime
succ(MkNominalDiffTime Pico
a )=Pico -> NominalDiffTime
MkNominalDiffTime (Pico -> Pico
forall a. Enum a => a -> a
succPico
a )pred :: NominalDiffTime -> NominalDiffTime
pred(MkNominalDiffTime Pico
a )=Pico -> NominalDiffTime
MkNominalDiffTime (Pico -> Pico
forall a. Enum a => a -> a
predPico
a )toEnum :: Int -> NominalDiffTime
toEnum=Pico -> NominalDiffTime
MkNominalDiffTime (Pico -> NominalDiffTime)
-> (Int -> Pico) -> Int -> NominalDiffTime
forall b c a. (b -> c) -> (a -> b) -> a -> c
.Int -> Pico
forall a. Enum a => Int -> a
toEnumfromEnum :: NominalDiffTime -> Int
fromEnum(MkNominalDiffTime Pico
a )=Pico -> Int
forall a. Enum a => a -> Int
fromEnumPico
a enumFrom :: NominalDiffTime -> [NominalDiffTime]
enumFrom(MkNominalDiffTime Pico
a )=(Pico -> NominalDiffTime) -> [Pico] -> [NominalDiffTime]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmapPico -> NominalDiffTime
MkNominalDiffTime (Pico -> [Pico]
forall a. Enum a => a -> [a]
enumFromPico
a )enumFromThen :: NominalDiffTime -> NominalDiffTime -> [NominalDiffTime]
enumFromThen(MkNominalDiffTime Pico
a )(MkNominalDiffTime Pico
b )=(Pico -> NominalDiffTime) -> [Pico] -> [NominalDiffTime]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmapPico -> NominalDiffTime
MkNominalDiffTime (Pico -> Pico -> [Pico]
forall a. Enum a => a -> a -> [a]
enumFromThenPico
a Pico
b )enumFromTo :: NominalDiffTime -> NominalDiffTime -> [NominalDiffTime]
enumFromTo(MkNominalDiffTime Pico
a )(MkNominalDiffTime Pico
b )=(Pico -> NominalDiffTime) -> [Pico] -> [NominalDiffTime]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmapPico -> NominalDiffTime
MkNominalDiffTime (Pico -> Pico -> [Pico]
forall a. Enum a => a -> a -> [a]
enumFromToPico
a Pico
b )enumFromThenTo :: NominalDiffTime
-> NominalDiffTime -> NominalDiffTime -> [NominalDiffTime]
enumFromThenTo(MkNominalDiffTime Pico
a )(MkNominalDiffTime Pico
b )(MkNominalDiffTime Pico
c )=(Pico -> NominalDiffTime) -> [Pico] -> [NominalDiffTime]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmapPico -> NominalDiffTime
MkNominalDiffTime (Pico -> Pico -> Pico -> [Pico]
forall a. Enum a => a -> a -> a -> [a]
enumFromThenToPico
a Pico
b Pico
c )instanceShowNominalDiffTime whereshow :: NominalDiffTime -> String
show(MkNominalDiffTime Pico
t )=(Bool -> Pico -> String
forall k (a :: k). HasResolution a => Bool -> Fixed a -> String
showFixedBool
TruePico
t )String -> ShowS
forall a. [a] -> [a] -> [a]
++String
"s"instanceReadNominalDiffTime wherereadPrec :: ReadPrec NominalDiffTime
readPrec=doPico
t <-ReadPrec Pico
forall a. Read a => ReadPrec a
readPrecChar
_<-ReadP Char -> ReadPrec Char
forall a. ReadP a -> ReadPrec a
lift(ReadP Char -> ReadPrec Char) -> ReadP Char -> ReadPrec Char
forall a b. (a -> b) -> a -> b
$Char -> ReadP Char
charChar
's'NominalDiffTime -> ReadPrec NominalDiffTime
forall (m :: * -> *) a. Monad m => a -> m a
return(NominalDiffTime -> ReadPrec NominalDiffTime)
-> NominalDiffTime -> ReadPrec NominalDiffTime
forall a b. (a -> b) -> a -> b
$Pico -> NominalDiffTime
MkNominalDiffTime Pico
t instanceNumNominalDiffTime where(MkNominalDiffTime Pico
a )+ :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime
+(MkNominalDiffTime Pico
b )=Pico -> NominalDiffTime
MkNominalDiffTime (Pico
a Pico -> Pico -> Pico
forall a. Num a => a -> a -> a
+Pico
b )(MkNominalDiffTime Pico
a )- :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime
-(MkNominalDiffTime Pico
b )=Pico -> NominalDiffTime
MkNominalDiffTime (Pico
a Pico -> Pico -> Pico
forall a. Num a => a -> a -> a
-Pico
b )(MkNominalDiffTime Pico
a )* :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime
*(MkNominalDiffTime Pico
b )=Pico -> NominalDiffTime
MkNominalDiffTime (Pico
a Pico -> Pico -> Pico
forall a. Num a => a -> a -> a
*Pico
b )negate :: NominalDiffTime -> NominalDiffTime
negate(MkNominalDiffTime Pico
a )=Pico -> NominalDiffTime
MkNominalDiffTime (Pico -> Pico
forall a. Num a => a -> a
negatePico
a )abs :: NominalDiffTime -> NominalDiffTime
abs(MkNominalDiffTime Pico
a )=Pico -> NominalDiffTime
MkNominalDiffTime (Pico -> Pico
forall a. Num a => a -> a
absPico
a )signum :: NominalDiffTime -> NominalDiffTime
signum(MkNominalDiffTime Pico
a )=Pico -> NominalDiffTime
MkNominalDiffTime (Pico -> Pico
forall a. Num a => a -> a
signumPico
a )fromInteger :: Integer -> NominalDiffTime
fromIntegerInteger
i =Pico -> NominalDiffTime
MkNominalDiffTime (Integer -> Pico
forall a. Num a => Integer -> a
fromIntegerInteger
i )instanceRealNominalDiffTime wheretoRational :: NominalDiffTime -> Rational
toRational(MkNominalDiffTime Pico
a )=Pico -> Rational
forall a. Real a => a -> Rational
toRationalPico
a instanceFractionalNominalDiffTime where(MkNominalDiffTime Pico
a )/ :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime
/(MkNominalDiffTime Pico
b )=Pico -> NominalDiffTime
MkNominalDiffTime (Pico
a Pico -> Pico -> Pico
forall a. Fractional a => a -> a -> a
/Pico
b )recip :: NominalDiffTime -> NominalDiffTime
recip(MkNominalDiffTime Pico
a )=Pico -> NominalDiffTime
MkNominalDiffTime (Pico -> Pico
forall a. Fractional a => a -> a
recipPico
a )fromRational :: Rational -> NominalDiffTime
fromRationalRational
r =Pico -> NominalDiffTime
MkNominalDiffTime (Rational -> Pico
forall a. Fractional a => Rational -> a
fromRationalRational
r )instanceRealFracNominalDiffTime whereproperFraction :: NominalDiffTime -> (b, NominalDiffTime)
properFraction(MkNominalDiffTime Pico
a )=(b
i ,Pico -> NominalDiffTime
MkNominalDiffTime Pico
f )where(b
i ,Pico
f )=Pico -> (b, Pico)
forall a b. (RealFrac a, Integral b) => a -> (b, a)
properFractionPico
a truncate :: NominalDiffTime -> b
truncate(MkNominalDiffTime Pico
a )=Pico -> b
forall a b. (RealFrac a, Integral b) => a -> b
truncatePico
a round :: NominalDiffTime -> b
round(MkNominalDiffTime Pico
a )=Pico -> b
forall a b. (RealFrac a, Integral b) => a -> b
roundPico
a ceiling :: NominalDiffTime -> b
ceiling(MkNominalDiffTime Pico
a )=Pico -> b
forall a b. (RealFrac a, Integral b) => a -> b
ceilingPico
a floor :: NominalDiffTime -> b
floor(MkNominalDiffTime Pico
a )=Pico -> b
forall a b. (RealFrac a, Integral b) => a -> b
floorPico
a {-# RULES"realToFrac/DiffTime->NominalDiffTime"realToFrac=\dt ->MkNominalDiffTime (realToFracdt )"realToFrac/NominalDiffTime->DiffTime"realToFrac=\(MkNominalDiffTime ps )->realToFracps "realToFrac/NominalDiffTime->Pico"realToFrac=\(MkNominalDiffTime ps )->ps "realToFrac/Pico->NominalDiffTime"realToFrac=MkNominalDiffTime #-}-- | One day in 'NominalDiffTime'.nominalDay ::NominalDiffTime nominalDay :: NominalDiffTime
nominalDay =NominalDiffTime
86400

AltStyle によって変換されたページ (->オリジナル) /