{-| Module : Numeric.VariablePrecision.Float.Aliases Copyright : (c) Claude Heiland-Allen 2012 License : BSD3 Maintainer : claudiusmaximus@goto10.org Stability : stable Portability : portable Boilerplate definitions generated by: > flip mapM_ [1..53] $ \p -> let s = show p in > putStrLn $ "type F" ++ s ++ " = VFloat N" ++ s ++ > " ; f" ++ s ++ " :: F" ++ s ++ " ; f" ++ s ++ " = 0" Along with aliases for 'recodeFloat' with specialized types. -} module Numeric.VariablePrecision.Float.Aliases where import Numeric.VariablePrecision.Float (VFloat, recodeFloat) import TypeLevel.NaturalNumber import TypeLevel.NaturalNumber.ExtraNumbers -- | Convert to a Float from the same precision. toFloat :: F24 -> Float toFloat = recodeFloat -- | Convert from a Float to the same precision. fromFloat :: Float -> F24 fromFloat = recodeFloat -- | Convert to a Double from the same precision. toDouble :: F53 -> Double toDouble = recodeFloat -- | Convert from a Double to the same precision. fromDouble :: Double -> F53 fromDouble = recodeFloat type F1 = VFloat N1 ; f1 :: F1 ; f1 = 0 type F2 = VFloat N2 ; f2 :: F2 ; f2 = 0 type F3 = VFloat N3 ; f3 :: F3 ; f3 = 0 type F4 = VFloat N4 ; f4 :: F4 ; f4 = 0 type F5 = VFloat N5 ; f5 :: F5 ; f5 = 0 type F6 = VFloat N6 ; f6 :: F6 ; f6 = 0 type F7 = VFloat N7 ; f7 :: F7 ; f7 = 0 type F8 = VFloat N8 ; f8 :: F8 ; f8 = 0 type F9 = VFloat N9 ; f9 :: F9 ; f9 = 0 type F10 = VFloat N10 ; f10 :: F10 ; f10 = 0 type F11 = VFloat N11 ; f11 :: F11 ; f11 = 0 type F12 = VFloat N12 ; f12 :: F12 ; f12 = 0 type F13 = VFloat N13 ; f13 :: F13 ; f13 = 0 type F14 = VFloat N14 ; f14 :: F14 ; f14 = 0 type F15 = VFloat N15 ; f15 :: F15 ; f15 = 0 type F16 = VFloat N16 ; f16 :: F16 ; f16 = 0 type F17 = VFloat N17 ; f17 :: F17 ; f17 = 0 type F18 = VFloat N18 ; f18 :: F18 ; f18 = 0 type F19 = VFloat N19 ; f19 :: F19 ; f19 = 0 type F20 = VFloat N20 ; f20 :: F20 ; f20 = 0 type F21 = VFloat N21 ; f21 :: F21 ; f21 = 0 type F22 = VFloat N22 ; f22 :: F22 ; f22 = 0 type F23 = VFloat N23 ; f23 :: F23 ; f23 = 0 type F24 = VFloat N24 ; f24 :: F24 ; f24 = 0 type F25 = VFloat N25 ; f25 :: F25 ; f25 = 0 type F26 = VFloat N26 ; f26 :: F26 ; f26 = 0 type F27 = VFloat N27 ; f27 :: F27 ; f27 = 0 type F28 = VFloat N28 ; f28 :: F28 ; f28 = 0 type F29 = VFloat N29 ; f29 :: F29 ; f29 = 0 type F30 = VFloat N30 ; f30 :: F30 ; f30 = 0 type F31 = VFloat N31 ; f31 :: F31 ; f31 = 0 type F32 = VFloat N32 ; f32 :: F32 ; f32 = 0 type F33 = VFloat N33 ; f33 :: F33 ; f33 = 0 type F34 = VFloat N34 ; f34 :: F34 ; f34 = 0 type F35 = VFloat N35 ; f35 :: F35 ; f35 = 0 type F36 = VFloat N36 ; f36 :: F36 ; f36 = 0 type F37 = VFloat N37 ; f37 :: F37 ; f37 = 0 type F38 = VFloat N38 ; f38 :: F38 ; f38 = 0 type F39 = VFloat N39 ; f39 :: F39 ; f39 = 0 type F40 = VFloat N40 ; f40 :: F40 ; f40 = 0 type F41 = VFloat N41 ; f41 :: F41 ; f41 = 0 type F42 = VFloat N42 ; f42 :: F42 ; f42 = 0 type F43 = VFloat N43 ; f43 :: F43 ; f43 = 0 type F44 = VFloat N44 ; f44 :: F44 ; f44 = 0 type F45 = VFloat N45 ; f45 :: F45 ; f45 = 0 type F46 = VFloat N46 ; f46 :: F46 ; f46 = 0 type F47 = VFloat N47 ; f47 :: F47 ; f47 = 0 type F48 = VFloat N48 ; f48 :: F48 ; f48 = 0 type F49 = VFloat N49 ; f49 :: F49 ; f49 = 0 type F50 = VFloat N50 ; f50 :: F50 ; f50 = 0 type F51 = VFloat N51 ; f51 :: F51 ; f51 = 0 type F52 = VFloat N52 ; f52 :: F52 ; f52 = 0 type F53 = VFloat N53 ; f53 :: F53 ; f53 = 0