Better support for conversions between number types.

This commit is contained in:
2020-01-10 09:04:47 -10:00
parent 8c5f18cb7c
commit 4b8d0b3f09
14 changed files with 96 additions and 35 deletions

View File

@@ -38,8 +38,8 @@ unsafeAddOps = File {
testCase = Just generateUnsafeTests
}
declareSafeAddOperators :: Word -> SourceFile Span
declareSafeAddOperators bitsize =
declareSafeAddOperators :: Word -> [Word] -> SourceFile Span
declareSafeAddOperators bitsize _ =
let sname = mkIdent ("U" ++ show bitsize)
dname = mkIdent ("U" ++ show (bitsize + 64))
fullRippleAdd = makeRippleAdder True (bitsize `div` 64) "res"
@@ -115,8 +115,8 @@ declareSafeAddOperators bitsize =
}
|]
declareUnsafeAddOperators :: Word -> SourceFile Span
declareUnsafeAddOperators bitsize =
declareUnsafeAddOperators :: Word -> [Word] -> SourceFile Span
declareUnsafeAddOperators bitsize _ =
let sname = mkIdent ("U" ++ show bitsize)
fullRippleAdd = makeRippleAdder False (bitsize `div` 64) "self"
testFileLit = Lit [] (Str (testFile bitsize) Cooked Unsuffixed mempty) mempty