ad-4.4: Automatic Differentiation

Copyright(c) Edward Kmett 2015
LicenseBSD3
Maintainerekmett@gmail.com
Stabilityexperimental
PortabilityGHC only
Safe HaskellNone
LanguageHaskell2010

Numeric.AD.Internal.Or

Description

 
Synopsis

Documentation

data Or s a b where Source #

The choice between two AD modes is an AD mode in its own right

Constructors

L :: a -> Or F a b 
R :: b -> Or T a b 
Instances
(Bounded a, Bounded b, Chosen s) => Bounded (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

minBound :: Or s a b #

maxBound :: Or s a b #

(Enum a, Enum b, Chosen s) => Enum (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

succ :: Or s a b -> Or s a b #

pred :: Or s a b -> Or s a b #

toEnum :: Int -> Or s a b #

fromEnum :: Or s a b -> Int #

enumFrom :: Or s a b -> [Or s a b] #

enumFromThen :: Or s a b -> Or s a b -> [Or s a b] #

enumFromTo :: Or s a b -> Or s a b -> [Or s a b] #

enumFromThenTo :: Or s a b -> Or s a b -> Or s a b -> [Or s a b] #

(Eq a, Eq b) => Eq (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

(==) :: Or s a b -> Or s a b -> Bool #

(/=) :: Or s a b -> Or s a b -> Bool #

(Floating a, Floating b, Chosen s) => Floating (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

pi :: Or s a b #

exp :: Or s a b -> Or s a b #

log :: Or s a b -> Or s a b #

sqrt :: Or s a b -> Or s a b #

(**) :: Or s a b -> Or s a b -> Or s a b #

logBase :: Or s a b -> Or s a b -> Or s a b #

sin :: Or s a b -> Or s a b #

cos :: Or s a b -> Or s a b #

tan :: Or s a b -> Or s a b #

asin :: Or s a b -> Or s a b #

acos :: Or s a b -> Or s a b #

atan :: Or s a b -> Or s a b #

sinh :: Or s a b -> Or s a b #

cosh :: Or s a b -> Or s a b #

tanh :: Or s a b -> Or s a b #

asinh :: Or s a b -> Or s a b #

acosh :: Or s a b -> Or s a b #

atanh :: Or s a b -> Or s a b #

log1p :: Or s a b -> Or s a b #

expm1 :: Or s a b -> Or s a b #

log1pexp :: Or s a b -> Or s a b #

log1mexp :: Or s a b -> Or s a b #

(Fractional a, Fractional b, Chosen s) => Fractional (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

(/) :: Or s a b -> Or s a b -> Or s a b #

recip :: Or s a b -> Or s a b #

fromRational :: Rational -> Or s a b #

(Num a, Num b, Chosen s) => Num (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

(+) :: Or s a b -> Or s a b -> Or s a b #

(-) :: Or s a b -> Or s a b -> Or s a b #

(*) :: Or s a b -> Or s a b -> Or s a b #

negate :: Or s a b -> Or s a b #

abs :: Or s a b -> Or s a b #

signum :: Or s a b -> Or s a b #

fromInteger :: Integer -> Or s a b #

(Ord a, Ord b) => Ord (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

compare :: Or s a b -> Or s a b -> Ordering #

(<) :: Or s a b -> Or s a b -> Bool #

(<=) :: Or s a b -> Or s a b -> Bool #

(>) :: Or s a b -> Or s a b -> Bool #

(>=) :: Or s a b -> Or s a b -> Bool #

max :: Or s a b -> Or s a b -> Or s a b #

min :: Or s a b -> Or s a b -> Or s a b #

(Real a, Real b, Chosen s) => Real (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

toRational :: Or s a b -> Rational #

(RealFloat a, RealFloat b, Chosen s) => RealFloat (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

floatRadix :: Or s a b -> Integer #

floatDigits :: Or s a b -> Int #

floatRange :: Or s a b -> (Int, Int) #

decodeFloat :: Or s a b -> (Integer, Int) #

encodeFloat :: Integer -> Int -> Or s a b #

exponent :: Or s a b -> Int #

significand :: Or s a b -> Or s a b #

scaleFloat :: Int -> Or s a b -> Or s a b #

isNaN :: Or s a b -> Bool #

isInfinite :: Or s a b -> Bool #

isDenormalized :: Or s a b -> Bool #

isNegativeZero :: Or s a b -> Bool #

isIEEE :: Or s a b -> Bool #

atan2 :: Or s a b -> Or s a b -> Or s a b #

(RealFrac a, RealFrac b, Chosen s) => RealFrac (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

properFraction :: Integral b0 => Or s a b -> (b0, Or s a b) #

truncate :: Integral b0 => Or s a b -> b0 #

round :: Integral b0 => Or s a b -> b0 #

ceiling :: Integral b0 => Or s a b -> b0 #

floor :: Integral b0 => Or s a b -> b0 #

(Erf a, Erf b, Chosen s) => Erf (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

erf :: Or s a b -> Or s a b #

erfc :: Or s a b -> Or s a b #

erfcx :: Or s a b -> Or s a b #

normcdf :: Or s a b -> Or s a b #

(InvErf a, InvErf b, Chosen s) => InvErf (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

inverf :: Or s a b -> Or s a b #

inverfc :: Or s a b -> Or s a b #

invnormcdf :: Or s a b -> Or s a b #

(Mode a, Mode b, Chosen s, Scalar a ~ Scalar b) => Mode (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Associated Types

type Scalar (Or s a b) :: Type Source #

Methods

isKnownConstant :: Or s a b -> Bool Source #

isKnownZero :: Or s a b -> Bool Source #

auto :: Scalar (Or s a b) -> Or s a b Source #

(*^) :: Scalar (Or s a b) -> Or s a b -> Or s a b Source #

(^*) :: Or s a b -> Scalar (Or s a b) -> Or s a b Source #

(^/) :: Or s a b -> Scalar (Or s a b) -> Or s a b Source #

zero :: Or s a b Source #

type Scalar (Or s a b) Source # 
Instance details

Defined in Numeric.AD.Internal.Or

type Scalar (Or s a b) = Scalar a

data F Source #

Instances
Chosen F Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

choose :: a -> b -> Or F a b Source #

data T Source #

Instances
Chosen T Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

choose :: a -> b -> Or T a b Source #

runL :: Or F a b -> a Source #

runR :: Or T a b -> b Source #

class Chosen s where Source #

Methods

choose :: a -> b -> Or s a b Source #

Instances
Chosen T Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

choose :: a -> b -> Or T a b Source #

Chosen F Source # 
Instance details

Defined in Numeric.AD.Internal.Or

Methods

choose :: a -> b -> Or F a b Source #

chosen :: (a -> r) -> (b -> r) -> Or s a b -> r Source #

unary :: (a -> a) -> (b -> b) -> Or s a b -> Or s a b Source #

binary :: (a -> a -> a) -> (b -> b -> b) -> Or s a b -> Or s a b -> Or s a b Source #