Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
Eq Seconds | |
Ord Seconds | |
Show Seconds | A show instance that prints to 4 decimal places. This is to take floating-point rounding errors into account. |
AsSeconds p f Seconds | |
(Choice p, Applicative f) => AsCoordinate p f (Double, (DegreesLongitude, Minutes, Seconds)) | |
(Choice p, Applicative f) => AsCoordinate p f ((DegreesLatitude, Minutes, Seconds), Double) | |
(Profunctor p, Functor f) => AsCoordinate p f ((DegreesLongitude, Minutes, Seconds), (DegreesLatitude, Minutes, Seconds)) | |
(Profunctor p, Functor f) => AsCoordinate p f ((DegreesLatitude, Minutes, Seconds), (DegreesLongitude, Minutes, Seconds)) | |
(Profunctor p, Functor f) => AsCoordinate p f ((DegreesLongitude, Minutes, Seconds), Latitude) | |
(Profunctor p, Functor f) => AsCoordinate p f (Latitude, (DegreesLongitude, Minutes, Seconds)) | |
(Profunctor p, Functor f) => AsCoordinate p f (Longitude, (DegreesLatitude, Minutes, Seconds)) | |
(Profunctor p, Functor f) => AsCoordinate p f ((DegreesLatitude, Minutes, Seconds), Longitude) | |
(Profunctor p, Functor f) => AsLongitude p f (DegreesLongitude, Minutes, Seconds) | An isomorphism on the triple of degrees longitude, minutes, seconds to a longitude.
|
(Profunctor p, Functor f) => AsLatitude p f (DegreesLatitude, Minutes, Seconds) | An isomorphism on the triple of degrees latitude, minutes, seconds to a latitude.
|
class AsSeconds p f s where Source
Nothing
(Choice p, Applicative f) => AsSeconds p f Double | A prism on seconds to a double between 0 inclusive and 60 exclusive.
all (\m -> _Seconds # m == (n :: Double)) (n ^? _Seconds) |
AsSeconds p f Seconds | |
((~) (* -> * -> *) p (->), Functor f) => AsSeconds p f Longitude | |
((~) (* -> * -> *) p (->), Functor f) => AsSeconds p f Latitude |
remSeconds :: Double -> Seconds Source
Setting a value `>= 60` will get that value `(rem
60)`.
>>>
remSeconds 7
Seconds 7.0000
>>>
remSeconds 0
Seconds 0.0000
>>>
remSeconds (-0.0001)
Seconds 59.9999
>>>
remSeconds 60
Seconds 0.0000
>>>
remSeconds 59.99999
Seconds 60.0000
>>>
remSeconds 59.999
Seconds 59.9990