From 4e61f38fb6c224eed0c5abc7f140b4f07a929b0f Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Wed, 18 Nov 2009 23:23:33 -0500 Subject: [PATCH] floating: Add ** operator to Floating class. --- Data/Floating/Classes.hs | 3 ++- Data/Floating/Double.hs | 1 + Data/Floating/Prelude.hs | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Data/Floating/Classes.hs b/Data/Floating/Classes.hs index 91917d5..dc39c70 100644 --- a/Data/Floating/Classes.hs +++ b/Data/Floating/Classes.hs @@ -3,9 +3,10 @@ module Data.Floating.Classes where import Prelude hiding (Floating) class Fractional a => Floating a where + (**) :: a -> a -> a copysign :: a -> a -> a infinity :: a - nan :: a + nan :: a infinity = 1/0 nan = 0/0 diff --git a/Data/Floating/Double.hs b/Data/Floating/Double.hs index 36eddc9..d16e1c5 100644 --- a/Data/Floating/Double.hs +++ b/Data/Floating/Double.hs @@ -66,4 +66,5 @@ instance Fractional Double where (fromInteger . denominator) instance Floating Double where + (D# x) ** (D# y) = D# (x **## y) copysign x y = toFloating $ c_copysign (toFloating x) (toFloating y) diff --git a/Data/Floating/Prelude.hs b/Data/Floating/Prelude.hs index fa1c48c..bd954b2 100644 --- a/Data/Floating/Prelude.hs +++ b/Data/Floating/Prelude.hs @@ -4,5 +4,5 @@ module Data.Floating.Prelude ( module Prelude ) where -import Prelude hiding (Floating, Double, Float) +import Prelude hiding (Floating(..), Double, Float) import Data.Floating -- 2.11.4.GIT