module Data.Units.AngleSI.NonStd.Angle
( Degree (..)
, Turn (..)
, Gradian (..)
)
where
import Data.Units.Base
import Data.Units.AngleSI.System
$(mkUnitNoFactor "Degree" "°" ''Angle)
$(mkUnitNoFactor "Turn" "tr" ''Angle)
$(mkUnitNoFactor "Gradian" "grad" ''Angle)
instance Floating a => ConvertibleUnit Degree a
instance Floating a => ConversionFactor Degree a where
factor :: a
factor = a
forall a. Floating a => a
pi a -> a -> a
forall a. Fractional a => a -> a -> a
/ a
180
{-# INLINE factor #-}
instance Floating a => ConvertibleUnit Turn a
instance Floating a => ConversionFactor Turn a where
factor :: a
factor = a
2 a -> a -> a
forall a. Num a => a -> a -> a
* a
forall a. Floating a => a
pi
{-# INLINE factor #-}
instance Floating a => ConvertibleUnit Gradian a
instance Floating a => ConversionFactor Gradian a where
factor :: a
factor = a
forall a. Floating a => a
pi a -> a -> a
forall a. Fractional a => a -> a -> a
/ a
200
{-# INLINE factor #-}