signed size cast shorthand output

This commit is contained in:
Zachary Snow 2020-08-13 18:38:30 -04:00
parent e80db12422
commit d9e890c88e
1 changed files with 3 additions and 0 deletions

View File

@ -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