DeepDarkFantasy-0.2017.8.8: A DSL for creating neural network.

Safe HaskellSafe
LanguageHaskell2010

DDF.Dual

Documentation

class Prod r => Dual r where Source #

Minimal complete definition

dual, runDual

Methods

dual :: r h ((x, y) -> Dual x y) Source #

runDual :: r h (Dual x y -> (x, y)) Source #

mkDual :: r h (x -> y -> Dual x y) Source #

dualOrig :: r h (Dual x y -> x) Source #

dualDiff :: r h (Dual x y -> y) Source #

Instances

Dual Eval Source # 

Methods

dual :: Eval h ((x, y) -> Dual x y) Source #

runDual :: Eval h (Dual x y -> (x, y)) Source #

mkDual :: Eval h (x -> y -> Dual x y) Source #

dualOrig :: Eval h (Dual x y -> x) Source #

dualDiff :: Eval h (Dual x y -> y) Source #

Dual Show Source # 

Methods

dual :: Show h ((x, y) -> Dual x y) Source #

runDual :: Show h (Dual x y -> (x, y)) Source #

mkDual :: Show h (x -> y -> Dual x y) Source #

dualOrig :: Show h (Dual x y -> x) Source #

dualDiff :: Show h (Dual x y -> y) Source #

Dual Size Source # 

Methods

dual :: Size h ((x, y) -> Dual x y) Source #

runDual :: Size h (Dual x y -> (x, y)) Source #

mkDual :: Size h (x -> y -> Dual x y) Source #

dualOrig :: Size h (Dual x y -> x) Source #

dualDiff :: Size h (Dual x y -> y) Source #

Dual UInt Source # 

Methods

dual :: UInt h ((x, y) -> Dual x y) Source #

runDual :: UInt h (Dual x y -> (x, y)) Source #

mkDual :: UInt h (x -> y -> Dual x y) Source #

dualOrig :: UInt h (Dual x y -> x) Source #

dualDiff :: UInt h (Dual x y -> y) Source #

SubL c Dual => Dual (Term c) Source # 

Methods

dual :: Term c h ((x, y) -> Dual x y) Source #

runDual :: Term c h (Dual x y -> (x, y)) Source #

mkDual :: Term c h (x -> y -> Dual x y) Source #

dualOrig :: Term c h (Dual x y -> x) Source #

dualDiff :: Term c h (Dual x y -> y) Source #

Dual r => Dual (UnHOAS r) Source # 

Methods

dual :: UnHOAS r h ((x, y) -> Dual x y) Source #

runDual :: UnHOAS r h (Dual x y -> (x, y)) Source #

mkDual :: UnHOAS r h (x -> y -> Dual x y) Source #

dualOrig :: UnHOAS r h (Dual x y -> x) Source #

dualDiff :: UnHOAS r h (Dual x y -> y) Source #

Dual r => Dual (UnLiftEnv r) Source # 

Methods

dual :: UnLiftEnv r h ((x, y) -> Dual x y) Source #

runDual :: UnLiftEnv r h (Dual x y -> (x, y)) Source #

mkDual :: UnLiftEnv r h (x -> y -> Dual x y) Source #

dualOrig :: UnLiftEnv r h (Dual x y -> x) Source #

dualDiff :: UnLiftEnv r h (Dual x y -> y) Source #

Dual r => Dual (ImpW r) Source # 

Methods

dual :: ImpW r h ((x, y) -> Dual x y) Source #

runDual :: ImpW r h (Dual x y -> (x, y)) Source #

mkDual :: ImpW r h (x -> y -> Dual x y) Source #

dualOrig :: ImpW r h (Dual x y -> x) Source #

dualDiff :: ImpW r h (Dual x y -> y) Source #

type SubLC c Dual Source # 
type SubLC c Dual = SubL c Prod

dual1 :: Dual r => r h (x, y) -> r h (Dual x y) Source #

mkDual2 :: Dual r => r h a1 -> r h a -> r h (Dual a1 a) Source #

dualOrig1 :: Dual r => r h (Dual b y) -> r h b Source #

dualDiff1 :: Dual r => r h (Dual x b) -> r h b Source #

module DDF.Prod