feldspar-language-0.4.0.2: Feldspar/Core/Functions/Fractional.hs
module Feldspar.Core.Functions.Fractional where
import Data.Complex
import Feldspar.Core.Types
import Feldspar.Core.Representation
import Feldspar.Core.Constructs
import Feldspar.Core.Functions.Num
-- | Fractional types. The relation to the standard 'Fractional' class is
--
-- @instance `Frational'` a => `Fractional` (`Data` a)@
class (Fractional a, Numeric a) => Fractional' a
where
fromRationalFrac :: Rational -> Data a
fromRationalFrac = value . fromRational
divFrac :: Data a -> Data a -> Data a
divFrac = function2 "(/)" fullProp (/)
instance Fractional' Float
instance (Fractional' a, RealFloat a) => Fractional' (Complex a)
instance Fractional' a => Fractional (Data a)
where
fromRational = fromRationalFrac
(/) = divFrac