summaryrefslogtreecommitdiff
path: root/src/ForwardAD/DualNumbers.hs
diff options
context:
space:
mode:
authorTom Smeding <tom@tomsmeding.com>2024-11-08 22:17:56 +0100
committerTom Smeding <tom@tomsmeding.com>2024-11-08 22:17:56 +0100
commitcbe6472a14cc0887295034bb29546dd1a1f083fd (patch)
tree2fa6a20f584d58ac3b89074673990a16cdc7d5b2 /src/ForwardAD/DualNumbers.hs
parent4fcdb7118e0084f192753ea6c70394352a27d5ed (diff)
WIP maximum/minimum
Diffstat (limited to 'src/ForwardAD/DualNumbers.hs')
-rw-r--r--src/ForwardAD/DualNumbers.hs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ForwardAD/DualNumbers.hs b/src/ForwardAD/DualNumbers.hs
index f2ded6e..056fcb3 100644
--- a/src/ForwardAD/DualNumbers.hs
+++ b/src/ForwardAD/DualNumbers.hs
@@ -131,6 +131,13 @@ dfwdDN = \case
(ESum1Inner ext (dfwdDN e))
EUnit _ e -> EUnit ext (dfwdDN e)
EReplicate1Inner _ a b -> EReplicate1Inner ext (dfwdDN a) (dfwdDN b)
+ EMaximum1Inner _ e ->
+ let STArr n (STScal t) = typeOf e
+ in scalTyCase t
+ -- TODO: do roughly the same as what CHAD does, but forward
+ (_ (dfwdDN e))
+ _
+ EMinimum1Inner _ e -> EMinimum1Inner ext (dfwdDN e)
EConst _ t x -> scalTyCase t
(EPair ext (EConst ext t x) (EConst ext t 0.0))
(EConst ext t x)