{-# LANGUAGE NoImplicitPrelude #-}
module Algebra.RealField (
   C,
   ) where

import qualified Algebra.Field as Field
import qualified Algebra.RealRing as RealRing
import qualified Algebra.PrincipalIdealDomain as PID
import qualified Algebra.ToInteger as ToInteger

import qualified Number.Ratio as Ratio

-- import NumericPrelude.Base
-- import qualified Prelude as P
import Prelude (Float, Double, )

{- |
This is a convenient class for common types
that both form a field and have a notion of ordering by magnitude.
-}
class (RealRing.C a, Field.C a) => C a where

instance C Float where
instance C Double where

instance (ToInteger.C a, PID.C a) => C (Ratio.T a) where