module BishBosh.Property.ShowFloat(
ShowFloat(..),
showsFloatToN',
showsFloatToN
) where
import qualified BishBosh.Type.Count as Type.Count
import qualified Numeric
showsFloatToN' :: RealFloat a => Type.Count.NDecimalDigits -> a -> ShowS
showsFloatToN' :: NDecimalDigits -> a -> ShowS
showsFloatToN' NDecimalDigits
nDecimalDigits = Maybe NDecimalDigits -> a -> ShowS
forall a. RealFloat a => Maybe NDecimalDigits -> a -> ShowS
Numeric.showFFloat (NDecimalDigits -> Maybe NDecimalDigits
forall a. a -> Maybe a
Just (NDecimalDigits -> Maybe NDecimalDigits)
-> NDecimalDigits -> Maybe NDecimalDigits
forall a b. (a -> b) -> a -> b
$ NDecimalDigits -> NDecimalDigits
forall a b. (Integral a, Num b) => a -> b
fromIntegral NDecimalDigits
nDecimalDigits)
class ShowFloat a where
showsFloat :: (Double -> ShowS) -> a -> ShowS
showsFloatToN :: ShowFloat a => Type.Count.NDecimalDigits -> a -> ShowS
showsFloatToN :: NDecimalDigits -> a -> ShowS
showsFloatToN NDecimalDigits
nDecimalDigits = (Double -> ShowS) -> a -> ShowS
forall a. ShowFloat a => (Double -> ShowS) -> a -> ShowS
showsFloat ((Double -> ShowS) -> a -> ShowS)
-> (Double -> ShowS) -> a -> ShowS
forall a b. (a -> b) -> a -> b
$ NDecimalDigits -> Double -> ShowS
forall a. RealFloat a => NDecimalDigits -> a -> ShowS
showsFloatToN' NDecimalDigits
nDecimalDigits