AERN-Real-Double-2011.1.0.2: src/Numeric/AERN/RealArithmetic/Basis/Double/NumericOrder.hs
{-# LANGUAGE TypeFamilies #-}
{-|
Module : Numeric.AERN.RealArithmetic.Basis.Double.NumericOrder
Description : numeric order instances for Double
Copyright : (c) Michal Konecny
License : BSD3
Maintainer : mikkonecny@gmail.com
Stability : experimental
Portability : portable
Numeric order Comparison and lattice instances for Double.
This is a private module reexported publicly via its parent.
-}
module Numeric.AERN.RealArithmetic.Basis.Double.NumericOrder
where
import Prelude hiding (EQ,LT,GT)
import Numeric.AERN.Basics.Exception
import Control.Exception
import Numeric.AERN.Basics.PartialOrdering
import qualified Numeric.AERN.Basics.NumericOrder as NumOrd
import Numeric.AERN.Misc.List
import Numeric.AERN.Misc.Debug
import Data.Maybe
sampleD :: Double
sampleD = 0
nanD :: Double
nanD = 0/0
instance NumOrd.HasLeast Double where
least = - 1/0
instance NumOrd.HasGreatest Double where
greatest = 1/0
instance NumOrd.HasExtrema Double where
instance NumOrd.RoundedLatticeEffort Double where
type NumOrd.MinmaxEffortIndicator Double = ()
minmaxDefaultEffort _ = ()
instance NumOrd.RoundedLattice Double where
maxUpEff _ a b = Prelude.max a b
maxDnEff = NumOrd.maxUpEff
minUpEff _ a b = Prelude.min a b
minDnEff = NumOrd.minUpEff