]> gitweb.michael.orlitzky.com - numerical-analysis.git/blobdiff - src/BigFloat.hs
Add the Linear.Iteration module.
[numerical-analysis.git] / src / BigFloat.hs
index e23ebe6833bd674be0d5ea1f65dbfe540ec72baf..4c57aadeb1e5f851976cc30414e0a7c6edf3fcea 100644 (file)
@@ -1,7 +1,8 @@
 {-# LANGUAGE RebindableSyntax #-}
 
 module BigFloat
 {-# LANGUAGE RebindableSyntax #-}
 
 module BigFloat
-  (module Data.Number.BigFloat)
+  (module Data.Number.BigFloat,
+   R)
 where
 
 import Data.Number.BigFloat
 where
 
 import Data.Number.BigFloat
@@ -10,6 +11,8 @@ import NumericPrelude hiding (abs)
 import qualified Algebra.Absolute as Absolute
 import qualified Algebra.Additive as Additive
 import qualified Algebra.Field as Field
 import qualified Algebra.Absolute as Absolute
 import qualified Algebra.Additive as Additive
 import qualified Algebra.Field as Field
+import qualified Algebra.RealField as RealField
+import qualified Algebra.RealRing as RealRing
 import qualified Algebra.Ring as Ring
 import qualified Algebra.ToRational as ToRational
 import qualified Algebra.ZeroTestable as ZeroTestable
 import qualified Algebra.Ring as Ring
 import qualified Algebra.ToRational as ToRational
 import qualified Algebra.ZeroTestable as ZeroTestable
@@ -38,3 +41,8 @@ instance Epsilon e => ZeroTestable.C (BigFloat e) where
 
 instance Epsilon e => ToRational.C (BigFloat e) where
   toRational = fromRational . P.toRational
 
 instance Epsilon e => ToRational.C (BigFloat e) where
   toRational = fromRational . P.toRational
+
+instance Epsilon e => RealRing.C (BigFloat e) where
+  floor = fromInteger . P.floor
+
+instance Epsilon e => RealField.C (BigFloat e)