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
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