packages feed

AERN-Real-2011.1: src/Numeric/AERN/RealArithmetic/NumericOrderRounding/SpecialConst.hs

{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ImplicitParams #-}
{-|
    Module      :  Numeric.AERN.RealArithmetic.NumericOrderRounding.SpecialConst
    Description :  support for common constants such as pi
    Copyright   :  (c) Michal Konecny
    License     :  BSD3

    Maintainer  :  mikkonecny@gmail.com
    Stability   :  experimental
    Portability :  portable
    
    Support for common constants such as pi.
    
    This module is hidden and reexported via its parent NumericOrderRounding. 
-}

module Numeric.AERN.RealArithmetic.NumericOrderRounding.SpecialConst where

--import Numeric.AERN.Basics.Effort
--import Numeric.AERN.Basics.Exception
--import Numeric.AERN.Basics.ShowInternals
--import Numeric.AERN.RealArithmetic.Laws
--import Numeric.AERN.RealArithmetic.Measures
--import qualified Numeric.AERN.Basics.NumericOrder as NumOrd
--import Numeric.AERN.Basics.NumericOrder.OpsImplicitEffort
--
--import Numeric.AERN.Misc.Debug
--
--import Test.QuickCheck
--import Test.Framework (testGroup, Test)
--import Test.Framework.Providers.QuickCheck2 (testProperty)

class RoundedSpecialConstEffort t where
    type SpecialConstEffortIndicator t
    specialConstDefaultEffort :: t -> SpecialConstEffortIndicator t

class (RoundedSpecialConstEffort t) => RoundedSpecialConst t where
    piUpEff :: (SpecialConstEffortIndicator t) -> t
    piDnEff :: (SpecialConstEffortIndicator t) -> t
    eUpEff :: (SpecialConstEffortIndicator t) -> t
    eDnEff :: (SpecialConstEffortIndicator t) -> t