arith fixes

This commit is contained in:
crumbtoo
2023-12-13 11:35:09 -07:00
parent f45c06cad5
commit 9c7c9c4730
2 changed files with 16 additions and 15 deletions

View File

@@ -701,12 +701,12 @@ buildInitialHeap (Program ss) = mapAccumL allocateSc mempty compiledScs
compileBinder (_ := v, a) = compileC g' v <> [Update a]
-- special cases for prim functions; essentially inlining
compileE g ("negate#" :$ a) = compileE g a <> [Neg]
compileE g ("+#" :$ a :$ b) = compileE g a <> compileE g b <> [Add]
compileE g ("-#" :$ a :$ b) = compileE g a <> compileE g b <> [Sub]
compileE g ("*#" :$ a :$ b) = compileE g a <> compileE g b <> [Mul]
compileE g ("/#" :$ a :$ b) = compileE g a <> compileE g b <> [Div]
compileE g ("==#" :$ a :$ b) = compileE g a <> compileE g b <> [Equals]
compileE g ("negate#" :$ a) = compileE g a <> [Neg]
compileE g ("+#" :$ a :$ b) = compileE g b <> compileE g a <> [Add]
compileE g ("-#" :$ a :$ b) = compileE g b <> compileE g a <> [Sub]
compileE g ("*#" :$ a :$ b) = compileE g b <> compileE g a <> [Mul]
compileE g ("/#" :$ a :$ b) = compileE g b <> compileE g a <> [Div]
compileE g ("==#" :$ a :$ b) = compileE g b <> compileE g a <> [Equals]
compileE g (Case e as) = compileE g e <> [CaseJump (compileD g as)]