Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
A bearing in degrees between 0 and 360.
Documentation
class AsBearing p f s where Source
Nothing
(Choice p, Applicative f) => AsBearing p f Double | A prism on bearing to a double between 0 inclusive and 360 exclusive.
all (\m -> _Bearing # m == n) ((n :: Double) ^? _Bearing) |
AsBearing p f Bearing | |
((~) (* -> * -> *) p (->), Functor f) => AsBearing p f VincentyDirectResult |
modBearing :: Double -> Bearing Source
Construct a bearing such that if the given value is out of bounds, a modulus is taken to keep it within 0 inclusive and 360 exclusive.
>>>
modBearing 7
Bearing 7.0000
>>>
modBearing 0
Bearing 0.0000
>>>
modBearing (-0.0001)
Bearing 359.9999
>>>
modBearing 360
Bearing 0.0000
>>>
modBearing 359.99999
Bearing 360.0000
>>>
modBearing 359.999
Bearing 359.9990
radianBearing :: Prism' Double Bearing Source
A prism on bearing to a double between 0 and π exclusive.
>>>
(2 * pi - 0.0000000001) ^? radianBearing
Just (Bearing 360.0000)
>>>
0 ^? radianBearing
Just (Bearing 0.0000)
>>>
0.001 ^? radianBearing
Just (Bearing 0.0573)
>>>
1.78391 ^? radianBearing
Just (Bearing 102.2105)
>>>
pi ^? radianBearing
Just (Bearing 180.0000)
>>>
(2 * pi) ^? radianBearing
Nothing
>>>
(-0.001) ^? radianBearing
Nothing