module Data.Constants.Mechanics.Extra
( turn
, halfTurn
, addRad
, delRad
) where
import Data.Coerce
import qualified Data.Dimensions.SI as D
import Data.Metrology
import Data.Metrology.SI ( )
import Data.Metrology.Unsafe
import Data.Units.SI
type PlaneAngle = MkQu_DLN D.PlaneAngle 'DefaultLCSU
turn :: Floating a => PlaneAngle a
turn = 2 |*| halfTurn
halfTurn :: Floating a => PlaneAngle a
halfTurn = pi % Radian
addRad
:: Qu b 'DefaultLCSU a
-> Qu (Normalize ('[ 'F D.PlaneAngle One] @+ b)) 'DefaultLCSU a
addRad = coerce
delRad
:: Qu u 'DefaultLCSU a
-> Qu (Normalize (u @- '[ 'F D.PlaneAngle One])) 'DefaultLCSU a
delRad = coerce