module UnitTyped.SI.Derived.Count where
import UnitTyped
import UnitTyped.SI
data Percentage
instance Convertable NoDimension Percentage where
factor _ = 0.01
showunit _ _ = "%"
data Permil
instance Convertable NoDimension Permil where
factor _ = 0.001
showunit _ _ = "‰"
data Ppm
instance Convertable NoDimension Ppm where
factor _ = 0.1^6
showunit _ _ = "ppm"
data Ppb
instance Convertable NoDimension Ppb where
factor _ = 0.1^9
showunit _ _ = "ppb"
data Ppt
instance Convertable NoDimension Ppt where
factor _ = 0.1^12
showunit _ _ = "ppt"
data Radian
instance Convertable NoDimension Radian where
factor _ = 1
showunit _ _ = "rad"
data Degree
instance Convertable NoDimension Degree where
factor _ = 3.141592653589793 / 180
showunit _ _ = "°"
percent :: (Fractional f) => Value f NoDimension Percentage
percent = one
permil :: (Fractional f) => Value f NoDimension Permil
permil = one
ppm :: (Fractional f) => Value f NoDimension Ppm
ppm = one
ppb :: (Fractional f) => Value f NoDimension Ppb
ppb = one
ppt :: (Fractional f) => Value f NoDimension Ppt
ppt = one
rad :: (Fractional f) => Value f NoDimension Radian
rad = one
deg :: (Fractional f) => Value f NoDimension Degree
deg = one