DeepDarkFantasy-0.2017.4.9: 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 r => Dual (GWDiff r) Source # 

Methods

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

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

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

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

dualDiff :: GWDiff 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 #

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 l, Dual r) => Dual (Combine l r) Source # 

Methods

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

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

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

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

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

Dual r => Dual (WDiff r v) Source # 

Methods

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

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

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

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

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

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

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

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

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

module DDF.Prod