From ba7ffdf14d1953fd1cbe2265bdf713f38f880df2 Mon Sep 17 00:00:00 2001 From: Zachary Snow Date: Tue, 2 Apr 2019 13:44:47 -0400 Subject: [PATCH] $bits conversion handles types with more than 1 dimension --- src/Convert/Bits.hs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Convert/Bits.hs b/src/Convert/Bits.hs index f15db6e..853a06d 100644 --- a/src/Convert/Bits.hs +++ b/src/Convert/Bits.hs @@ -18,6 +18,13 @@ convert = convertExpr convertExpr :: Expr -> Expr -convertExpr (Bits (Left (IntegerVector _ _ [r]))) = rangeSize r -convertExpr (Bits (Left (Implicit _ [r]))) = rangeSize r +convertExpr (Bits (Left (IntegerVector _ _ rs))) = size rs +convertExpr (Bits (Left (Implicit _ rs))) = size rs convertExpr other = other + +size :: [Range] -> Expr +size ranges = + simplify $ + foldl (BinOp Mul) (Number "1") $ + map rangeSize $ + ranges