module DDF.Double (module DDF.Double, module DDF.Bool) where
import DDF.Bool
import qualified Prelude as M
class Bool r => Double r where
double :: M.Double -> r h M.Double
doubleZero :: r h M.Double
doubleZero = double 0
doubleOne :: r h M.Double
doubleOne = double 1
doublePlus :: r h (M.Double -> M.Double -> M.Double)
doubleMinus :: r h (M.Double -> M.Double -> M.Double)
doubleMult :: r h (M.Double -> M.Double -> M.Double)
doubleDivide :: r h (M.Double -> M.Double -> M.Double)
doubleExp :: r h (M.Double -> M.Double)
doubleEq :: r h (M.Double -> M.Double -> M.Bool)
doublePlus1 = app doublePlus
doublePlus2 = app2 doublePlus
doubleMinus2 = app2 doubleMinus
doubleMult2 = app2 doubleMult
doubleDivide2 = app2 doubleDivide
doubleExp1 = app doubleExp
doubleEq2 = app2 doubleEq