summaryrefslogtreecommitdiff
path: root/src/Language.hs
diff options
context:
space:
mode:
authorTom Smeding <tom@tomsmeding.com>2025-06-18 00:00:11 +0200
committerTom Smeding <tom@tomsmeding.com>2025-06-18 00:00:11 +0200
commitd1b2e2c3a3cdaf49ff5e4bae6fe9b0612c3779c2 (patch)
tree38577e02839ac18244aa46b833da8957cbe9789e /src/Language.hs
parent2b1a40b5933b8b0dceaae744e5b70cb604822c9d (diff)
Tests pass, should check if output is sensible
Diffstat (limited to 'src/Language.hs')
-rw-r--r--src/Language.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Language.hs b/src/Language.hs
index 63279df..4e6d604 100644
--- a/src/Language.hs
+++ b/src/Language.hs
@@ -17,6 +17,7 @@ module Language (
import Array
import AST
+import AST.Sparse.Types
import AST.Types
import CHAD.Types
import Data
@@ -176,7 +177,10 @@ with :: forall t a env acname. KnownMTy t => NExpr env t -> (Var acname (TAccum
with a (n :-> b) = NEWith (knownMTy @t) a n b
accum :: KnownMTy t => SAcPrj p t a -> NExpr env (AcIdxD p t) -> NExpr env a -> NExpr env (TAccum t) -> NExpr env TNil
-accum p a b c = NEAccum knownMTy p a b c
+accum p a b c = NEAccum knownMTy p a (spDense (acPrjTy p knownMTy)) b c
+
+accumS :: KnownMTy t => SAcPrj p t a -> NExpr env (AcIdxD p t) -> Sparse a b -> NExpr env b -> NExpr env (TAccum t) -> NExpr env TNil
+accumS p a sp b c = NEAccum knownMTy p a sp b c
(.==) :: (KnownScalTy st, ScalIsNumeric st ~ True) => NExpr env (TScal st) -> NExpr env (TScal st) -> NExpr env (TScal TBool)