module Chronos.Nanoseconds
(
add
, scale
, negate
, fromSeconds
, fromMinutes
, fromHours
, fromDays
, fromWeeks
) where
import Prelude hiding (negate)
import qualified Prelude as Prelude
import Data.Int
import Chronos.Types
add :: Nanoseconds -> Nanoseconds -> Nanoseconds
add (Nanoseconds a) (Nanoseconds b) = Nanoseconds (a + b)
negate :: Nanoseconds -> Nanoseconds
negate (Nanoseconds a) = Nanoseconds (Prelude.negate a)
scale :: Int64 -> Nanoseconds -> Nanoseconds
scale i (Nanoseconds x) = Nanoseconds (i * x)
fromSeconds :: Int64 -> Nanoseconds
fromSeconds = Nanoseconds . (1000000000 *)
fromMinutes :: Int64 -> Nanoseconds
fromMinutes = Nanoseconds . (60000000000 *)
fromHours :: Int64 -> Nanoseconds
fromHours = Nanoseconds . (3600000000000 *)
fromDays :: Int64 -> Nanoseconds
fromDays = Nanoseconds . (86400000000000 *)
fromWeeks :: Int64 -> Nanoseconds
fromWeeks = Nanoseconds . (604800000000000 *)