crackNum 3.8 → 3.9
raw patch · 3 files changed
+12/−6 lines, 3 files
Files
- CHANGES.md +6/−2
- crackNum.cabal +1/−1
- src/CrackNum/Main.hs +5/−3
CHANGES.md view
@@ -1,9 +1,13 @@ * Hackage: <http://hackage.haskell.org/package/crackNum> * GitHub: <http://github.com/LeventErkok/crackNum/> -* Latest Hackage released version: 3.7, 2024-02-15+* Latest Hackage released version: 3.9, 2024-02-23 -### Version 3.8, Not yet released+### Version 3.9, 2024-02-23+ + * Fix verilog input format parsing++### Version 3.8, 2024-02-21 * Add support for FP8 formats, as decribed in: https://arxiv.org/pdf/2209.05433.pdf - E5M2: Which is essentially a synonym for f5+3
crackNum.cabal view
@@ -1,6 +1,6 @@ Cabal-version : 2.2 Name : crackNum-Version : 3.8+Version : 3.9 Synopsis : Crack various integer and floating-point data formats Description : Crack IEEE-754 float formats and arbitrary sized words and integers, showing the layout. .
src/CrackNum/Main.hs view
@@ -349,14 +349,16 @@ parseToBits inp = do let isSkippable c = c `elem` "_-" || isSpace c - (mbPadTo, isHex, stream) <- case map toLower (filter (not . isSkippable) inp) of+ cleanInput = map toLower (filter (not . isSkippable) inp)++ (mbPadTo, isHex, stream) <- case cleanInput of '0':'x':rest -> pure (Nothing, True, rest) '0':'b':rest -> pure (Nothing, False, rest) _ ->- case break (`elem` "'h") inp of+ case break (`elem` "'h") cleanInput of (pre@(_:_), '\'' : 'h' : rest) | all isDigit pre -> pure (Just (read pre), True, rest) _ -> die [ "Input string must start with 0b, 0x, or N'h for decoding."- , "Received prefix: " ++ show (take 2 inp)+ , "Received prefix: " ++ show (take 2 cleanInput) ] let cvtBin '1' = pure [True]