Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- type FSEC = Double
- type MinSec n = (n, n)
- type MINSEC = (Int, Int)
- type MinCsec n = (n, n, n)
- type MINCSEC = (Int, Int, Int)
- sec_to_minsec :: Integral n => n -> MinSec n
- minsec_to_sec :: Num n => MinSec n -> n
- minsec_binop :: Integral t => (t -> t -> t) -> MinSec t -> MinSec t -> MinSec t
- minsec_sub :: Integral n => MinSec n -> MinSec n -> MinSec n
- minsec_diff :: Integral n => MinSec n -> MinSec n -> MinSec n
- minsec_add :: Integral n => MinSec n -> MinSec n -> MinSec n
- minsec_sum :: Integral n => [MinSec n] -> MinSec n
- fsec_to_minsec :: FSEC -> MINSEC
- minsec_pp :: MINSEC -> String
- minsec_parse :: (Num n, Read n) => String -> MinSec n
- fsec_to_mincsec :: FSEC -> MINCSEC
- mincsec_to_fsec :: Real n => MinCsec n -> FSEC
- mincsec_to_csec :: Num n => MinCsec n -> n
- csec_to_mincsec :: Integral n => n -> MinCsec n
- mincsec_pp_opt :: Bool -> MINCSEC -> String
- mincsec_pp :: MINCSEC -> String
- mincsec_binop :: Integral t => (t -> t -> t) -> MinCsec t -> MinCsec t -> MinCsec t
- span_pp :: (t -> String) -> (t, t) -> String
Documentation
minsec_to_sec :: Num n => MinSec n -> n Source #
Inverse of sec_minsec
.
minsec_to_sec (2,3) == 123
minsec_sub :: Integral n => MinSec n -> MinSec n -> MinSec n Source #
minsec_binop
-
, assumes q precedes p.
minsec_sub (2,35) (1,59) == (0,36)
minsec_diff :: Integral n => MinSec n -> MinSec n -> MinSec n Source #
minsec_binop
subtract
, assumes p precedes q.
minsec_diff (1,59) (2,35) == (0,36)
minsec_add :: Integral n => MinSec n -> MinSec n -> MinSec n Source #
minsec_add (1,59) (2,35) == (4,34)
minsec_sum :: Integral n => [MinSec n] -> MinSec n Source #
foldl
of minsec_add
minsec_sum [(1,59),(2,35),(4,34)] == (9,08)
fsec_to_minsec :: FSEC -> MINSEC Source #
Fractional seconds to (min,sec)
.
map fsec_to_minsec [59.49,60,60.51] == [(0,59),(1,0),(1,1)]
minsec_pp :: MINSEC -> String Source #
MINSEC
pretty printer.
map (minsec_pp . fsec_to_minsec) [59,61] == ["00:59","01:01"]
MinSec
parser.
fsec_to_mincsec :: FSEC -> MINCSEC Source #
Fractional seconds to (min,sec,csec)
, csec value is round
ed.
map fsec_to_mincsec [1,1.5,4/3] == [(0,1,0),(0,1,50),(0,1,33)]
mincsec_to_csec :: Num n => MinCsec n -> n Source #
csec_to_mincsec :: Integral n => n -> MinCsec n Source #
Centi-seconds to MinCsec
.
map csec_to_mincsec [123,12345] == [(0,1,23),(2,3,45)]
mincsec_pp_opt :: Bool -> MINCSEC -> String Source #
MINCSEC
pretty printer, concise mode omits centiseconds when zero.
map (mincsec_pp_opt True . fsec_to_mincsec) [1,60.5] == ["00:01","01:00.50"]