From d9e890c88e152edaf99951361944640c6548b41b Mon Sep 17 00:00:00 2001 From: Zachary Snow Date: Thu, 13 Aug 2020 18:38:30 -0400 Subject: [PATCH] signed size cast shorthand output --- src/Convert/SizeCast.hs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Convert/SizeCast.hs b/src/Convert/SizeCast.hs index e0d2b87..bb9fa8d 100644 --- a/src/Convert/SizeCast.hs +++ b/src/Convert/SizeCast.hs @@ -118,6 +118,9 @@ traverseExprM = _ -> return $ Cast (Right s) e convertCastWithSigningM :: Expr -> Expr -> Signing -> Scoper Type Expr + convertCastWithSigningM (RawNum size) (RawNum val) Signed = + return $ Number $ Decimal (fromIntegral size) True val' + where val' = val `mod` (2 ^ size) convertCastWithSigningM s e sg = do details <- lookupElemM $ castFnName s sg when (details == Nothing) $ injectItem $ MIPackageItem $ castFn s sg