]> gitweb.michael.orlitzky.com - numerical-analysis.git/blobdiff - src/BigFloat.hs
Add type synonyms for column/row matrices.
[numerical-analysis.git] / src / BigFloat.hs
index e23ebe6833bd674be0d5ea1f65dbfe540ec72baf..cc228bead187898a255eae3d3200a4edad546d10 100644 (file)
@@ -1,7 +1,8 @@
 {-# LANGUAGE RebindableSyntax #-}
 
 module BigFloat
-  (module Data.Number.BigFloat)
+  (module Data.Number.BigFloat,
+   R)
 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.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
@@ -19,7 +22,7 @@ type R = BigFloat Prec50
 
 instance Epsilon e => Additive.C (BigFloat e) where
   (+) = (P.+)
-  zero = (P.fromInteger 0)
+  zero = 0
   negate = (P.negate)
 
 instance Epsilon e => Ring.C (BigFloat e) where
@@ -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 => RealRing.C (BigFloat e) where
+  floor = fromInteger . P.floor
+
+instance Epsilon e => RealField.C (BigFloat e)