numbers-3000.2.0.2: Various number types
Safe HaskellSafe
LanguageHaskell98

Data.Number.Symbolic

Description

Symbolic number, i.e., these are not numbers at all, but just build a representation of the expressions. This implementation is incomplete in that it allows comnstruction, but not deconstruction of the expressions. It's mainly useful for debugging.

Synopsis

Documentation

data Sym a Source #

Symbolic numbers over some base type for the literals.

Instances

Instances details
Enum a => Enum (Sym a) Source # 
Instance details

Defined in Data.Number.Symbolic

Methods

succ :: Sym a -> Sym a

pred :: Sym a -> Sym a

toEnum :: Int -> Sym a

fromEnum :: Sym a -> Int

enumFrom :: Sym a -> [Sym a]

enumFromThen :: Sym a -> Sym a -> [Sym a]

enumFromTo :: Sym a -> Sym a -> [Sym a]

enumFromThenTo :: Sym a -> Sym a -> Sym a -> [Sym a]

Eq a => Eq (Sym a) Source # 
Instance details

Defined in Data.Number.Symbolic

Methods

(==) :: Sym a -> Sym a -> Bool

(/=) :: Sym a -> Sym a -> Bool

(Floating a, Eq a) => Floating (Sym a) Source # 
Instance details

Defined in Data.Number.Symbolic

Methods

pi :: Sym a

exp :: Sym a -> Sym a

log :: Sym a -> Sym a

sqrt :: Sym a -> Sym a

(**) :: Sym a -> Sym a -> Sym a

logBase :: Sym a -> Sym a -> Sym a

sin :: Sym a -> Sym a

cos :: Sym a -> Sym a

tan :: Sym a -> Sym a

asin :: Sym a -> Sym a

acos :: Sym a -> Sym a

atan :: Sym a -> Sym a

sinh :: Sym a -> Sym a

cosh :: Sym a -> Sym a

tanh :: Sym a -> Sym a

asinh :: Sym a -> Sym a

acosh :: Sym a -> Sym a

atanh :: Sym a -> Sym a

log1p :: Sym a -> Sym a

expm1 :: Sym a -> Sym a

log1pexp :: Sym a -> Sym a

log1mexp :: Sym a -> Sym a

(Fractional a, Eq a) => Fractional (Sym a) Source # 
Instance details

Defined in Data.Number.Symbolic

Methods

(/) :: Sym a -> Sym a -> Sym a

recip :: Sym a -> Sym a

fromRational :: Rational -> Sym a

Integral a => Integral (Sym a) Source # 
Instance details

Defined in Data.Number.Symbolic

Methods

quot :: Sym a -> Sym a -> Sym a

rem :: Sym a -> Sym a -> Sym a

div :: Sym a -> Sym a -> Sym a

mod :: Sym a -> Sym a -> Sym a

quotRem :: Sym a -> Sym a -> (Sym a, Sym a)

divMod :: Sym a -> Sym a -> (Sym a, Sym a)

toInteger :: Sym a -> Integer

(Num a, Eq a) => Num (Sym a) Source # 
Instance details

Defined in Data.Number.Symbolic

Methods

(+) :: Sym a -> Sym a -> Sym a

(-) :: Sym a -> Sym a -> Sym a

(*) :: Sym a -> Sym a -> Sym a

negate :: Sym a -> Sym a

abs :: Sym a -> Sym a

signum :: Sym a -> Sym a

fromInteger :: Integer -> Sym a

Ord a => Ord (Sym a) Source # 
Instance details

Defined in Data.Number.Symbolic

Methods

compare :: Sym a -> Sym a -> Ordering

(<) :: Sym a -> Sym a -> Bool

(<=) :: Sym a -> Sym a -> Bool

(>) :: Sym a -> Sym a -> Bool

(>=) :: Sym a -> Sym a -> Bool

max :: Sym a -> Sym a -> Sym a

min :: Sym a -> Sym a -> Sym a

Real a => Real (Sym a) Source # 
Instance details

Defined in Data.Number.Symbolic

Methods

toRational :: Sym a -> Rational

(RealFloat a, Show a) => RealFloat (Sym a) Source # 
Instance details

Defined in Data.Number.Symbolic

Methods

floatRadix :: Sym a -> Integer

floatDigits :: Sym a -> Int

floatRange :: Sym a -> (Int, Int)

decodeFloat :: Sym a -> (Integer, Int)

encodeFloat :: Integer -> Int -> Sym a

exponent :: Sym a -> Int

significand :: Sym a -> Sym a

scaleFloat :: Int -> Sym a -> Sym a

isNaN :: Sym a -> Bool

isInfinite :: Sym a -> Bool

isDenormalized :: Sym a -> Bool

isNegativeZero :: Sym a -> Bool

isIEEE :: Sym a -> Bool

atan2 :: Sym a -> Sym a -> Sym a

RealFrac a => RealFrac (Sym a) Source # 
Instance details

Defined in Data.Number.Symbolic

Methods

properFraction :: Integral b => Sym a -> (b, Sym a)

truncate :: Integral b => Sym a -> b

round :: Integral b => Sym a -> b

ceiling :: Integral b => Sym a -> b

floor :: Integral b => Sym a -> b

Show a => Show (Sym a) Source # 
Instance details

Defined in Data.Number.Symbolic

Methods

showsPrec :: Int -> Sym a -> ShowS

show :: Sym a -> String

showList :: [Sym a] -> ShowS

var :: String -> Sym a Source #

Create a variable.

con :: a -> Sym a Source #

Create a constant (useful when it is not a literal).

subst :: (Num a, Eq a) => String -> Sym a -> Sym a -> Sym a Source #

The expression subst x v e substitutes the expression v for each occurence of the variable x in e.

unSym :: Show a => Sym a -> a Source #