From 3e90e2800dbb5344c3785f7de206a5f09a09a89f Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Sat, 20 Feb 2010 23:42:02 -0500 Subject: [PATCH] floating: Add epsilon to the RealFloat class. --- Data/Floating/Classes.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Data/Floating/Classes.hs b/Data/Floating/Classes.hs index b72a795..fc1561b 100644 --- a/Data/Floating/Classes.hs +++ b/Data/Floating/Classes.hs @@ -67,7 +67,8 @@ class Fractional a => Floating a where -- | Class for real-valued floating point types. -- --- Minimal complete definition: all except 'pi', 'infinity' and 'nan'. +-- Minimal complete definition: all except 'pi', 'infinity', 'epsilon' and +-- 'nan'. class Floating a => RealFloat a where -- | Fused multiply-add. fma :: a -> a -> a -> a @@ -118,10 +119,12 @@ class Floating a => RealFloat a where nearbyint :: a -> a infinity :: a nan :: a + epsilon :: a pi :: a infinity = 1/0 nan = 0/0 + epsilon = nextafter 1 infinity - 1 pi = 4 * atan 1 -- | Class for the basic floating point types. -- 2.11.4.GIT