gloss-1.0.0.0: Graphics/Gloss/Geometry/Angle.hs
-- | Geometric functions concerning angles. If not otherwise specified, all angles are in radians.
module Graphics.Gloss.Geometry.Angle
( degToRad
, radToDeg
, normaliseAngle )
where
-- | Convert degrees to radians
{-# INLINE degToRad #-}
degToRad :: Float -> Float
degToRad d = d * pi / 180
-- | Convert radians to degrees
{-# INLINE radToDeg #-}
radToDeg :: Float -> Float
radToDeg r = r * 180 / pi
-- | Normalise an angle to be between 0 and 2*pi radians
{-# INLINE normaliseAngle #-}
normaliseAngle :: Float -> Float
normaliseAngle f
| f < 0
= normaliseAngle (f + 2 * pi)
| f > 2 * pi
= normaliseAngle (f - 2 * pi)
| otherwise
= f