File: DiffTimeAndNominalDiffTime.hs

package info (click to toggle)
haskell-isomorphism-class 0.3.1.2-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 264 kB
  • sloc: haskell: 794; makefile: 3
file content (16 lines) | stat: -rw-r--r-- 514 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{-# OPTIONS_GHC -Wno-orphans #-}

module IsomorphismClass.Relations.DiffTimeAndNominalDiffTime where

import Data.Time
import IsomorphismClass.Classes
import IsomorphismClass.Prelude

instance IsomorphicTo DiffTime NominalDiffTime where
  to = picosecondsToDiffTime . picoToInteger . nominalDiffTimeToSeconds
    where
      picoToInteger :: Pico -> Integer
      picoToInteger (MkFixed p) = p

instance IsomorphicTo NominalDiffTime DiffTime where
  to = secondsToNominalDiffTime . MkFixed . diffTimeToPicoseconds