numeric-prelude-0.4.3: An experimental alternative hierarchy of numeric type classes

Safe HaskellNone
LanguageHaskell98

Algebra.Algebraic

Contents

Synopsis

Documentation

class C a => C a where #

Minimal implementation: root or '(^/)'.

Minimal complete definition

root | (^/)

Methods

sqrt :: a -> a #

root :: Integer -> a -> a #

(^/) :: a -> Rational -> a infixr 8 #

Instances

C Double # 
C Float # 

Methods

sqrt :: Float -> Float #

root :: Integer -> Float -> Float #

(^/) :: Float -> Rational -> Float #

C T # 

Methods

sqrt :: T -> T #

root :: Integer -> T -> T #

(^/) :: T -> Rational -> T #

C T # 

Methods

sqrt :: T -> T #

root :: Integer -> T -> T #

(^/) :: T -> Rational -> T #

Floating a => C (T a) # 

Methods

sqrt :: T a -> T a #

root :: Integer -> T a -> T a #

(^/) :: T a -> Rational -> T a #

C a => C (T a) # 

Methods

sqrt :: T a -> T a #

root :: Integer -> T a -> T a #

(^/) :: T a -> Rational -> T a #

C a => C (T a) # 

Methods

sqrt :: T a -> T a #

root :: Integer -> T a -> T a #

(^/) :: T a -> Rational -> T a #

C a => C (T a) # 

Methods

sqrt :: T a -> T a #

root :: Integer -> T a -> T a #

(^/) :: T a -> Rational -> T a #

(C a, C a) => C (T a) # 

Methods

sqrt :: T a -> T a #

root :: Integer -> T a -> T a #

(^/) :: T a -> Rational -> T a #

(C a, C a) => C (T a) # 

Methods

sqrt :: T a -> T a #

root :: Integer -> T a -> T a #

(^/) :: T a -> Rational -> T a #

(C a, C a, Power a) => C (T a) # 

Methods

sqrt :: T a -> T a #

root :: Integer -> T a -> T a #

(^/) :: T a -> Rational -> T a #

C a => C (T a) # 

Methods

sqrt :: T a -> T a #

root :: Integer -> T a -> T a #

(^/) :: T a -> Rational -> T a #

(C a, C v, Show v, C a v) => C (T a v) # 

Methods

sqrt :: T a v -> T a v #

root :: Integer -> T a v -> T a v #

(^/) :: T a v -> Rational -> T a v #

(Ord i, C a) => C (T i a) # 

Methods

sqrt :: T i a -> T i a #

root :: Integer -> T i a -> T i a #

(^/) :: T i a -> Rational -> T i a #

C v => C (T a v) # 

Methods

sqrt :: T a v -> T a v #

root :: Integer -> T a v -> T a v #

(^/) :: T a v -> Rational -> T a v #

genericRoot :: (C a, C b) => b -> a -> a #

power :: (C a, C b) => b -> a -> a #

Properties

propSqrSqrt :: (Eq a, C a) => a -> Bool #

propPowerCascade :: (Eq a, C a) => a -> Rational -> Rational -> Bool #

propPowerProduct :: (Eq a, C a) => a -> Rational -> Rational -> Bool #

propPowerDistributive :: (Eq a, C a) => Rational -> a -> a -> Bool #