ad-4.3.5: Automatic Differentiation

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

Numeric.AD.Internal.Or

Description

 
Synopsis
  • data Or s a b where
  • data F
  • data T
  • runL :: Or F a b -> a
  • runR :: Or T a b -> b
  • class Chosen s where
    • chosen :: (a -> r) -> (b -> r) -> Or s a b -> r
    • unary :: (a -> a) -> (b -> b) -> Or s a b -> Or s a b
    • binary :: (a -> a -> a) -> (b -> b -> b) -> Or s a b -> Or s a b -> Or s a b

    Documentation

    data Or s a b where #

    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) # 
    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) # 
    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) # 
    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) # 
    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) # 
    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) # 
    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) # 
    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) # 
    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) # 
    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) # 
    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) # 
    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) # 
    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) # 
    Instance details

    Defined in Numeric.AD.Internal.Or

    Associated Types

    type Scalar (Or s a b) :: * #

    Methods

    isKnownConstant :: Or s a b -> Bool #

    isKnownZero :: Or s a b -> Bool #

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

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

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

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

    zero :: Or s a b #

    type Scalar (Or s a b) # 
    Instance details

    Defined in Numeric.AD.Internal.Or

    type Scalar (Or s a b) = Scalar a

    data F #

    Instances
    Chosen F # 
    Instance details

    Defined in Numeric.AD.Internal.Or

    Methods

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

    data T #

    Instances
    Chosen T # 
    Instance details

    Defined in Numeric.AD.Internal.Or

    Methods

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

    runL :: Or F a b -> a #

    runR :: Or T a b -> b #

    class Chosen s where #

    Minimal complete definition

    choose

    Methods

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

    Instances
    Chosen T # 
    Instance details

    Defined in Numeric.AD.Internal.Or

    Methods

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

    Chosen F # 
    Instance details

    Defined in Numeric.AD.Internal.Or

    Methods

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

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

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

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