-
Latest Hackage released version: 3.15, 2024-11-09
- Bump up SBV dependence to >= 11.0
- Fix README
- Fix help text
- Fix hexadecimal float parsing for e4m3
- Allow for encoding of hexadecimal floats
- More relaxed parsing for verilog input format
- Fix verilog input format parsing
-
Add support for FP8 formats, as decribed in: https://arxiv.org/pdf/2209.05433.pdf
- E5M2: Which is essentially a synonym for f5+3
- E4M3: Similar to f4+4, except it does not have infinities and interprets NaN values differently
-
Fix a bug in cracking of arbitrary-sized floats, that yielded wrong values for some NaN cases
-
Support signaling/quiet indication for decoded NaN values.
-
Add support for decoding over multiple lanes. See the -l option.
-
Add support for verilog bit-vector notation, e.g., 128'hXXX. If you use this notation, crackNum will automatically infer the number of lanes to crack based on the width given; unless explicitly specified.
- Be more clear when the provided input isn't a recognizable float, instead of treating it as NaN implicitly. Thanks to Dmitry Blotsky for pointing out the confusion.
- Resolve compilation issues with GHC 9.8 series
- Fix compilation in previous build
- Allow compilation with newer versions of SBV
- Add an explicit note when conversion is exact.
- Fix readme
- A complete rewrite, much simplified, and supporting arbitrary precision floats. Some of the old features and the library are dropped; so if you rely on the library nature of CrackNum, do not upgrade. For other users who merely use crackNum as an executable, the new version is strongly recommended.
- Changes required to compile cleanly with GHC 8.10.2
- Remove dependency on the ieee754 and reinterpret-cast packages. The goal is to remove any FFI dependencies. We now define and export the required utilities directly in the CrackNum package.
- Instead of data-binary-ieee754, use reinterpret-cast package. According to documents, the former is deprecated.
- Support for vi-editor bindings. See the file "crackNum.vim" in the distribution or in the github repo You can put "so ~/.vim/crackNum.vim" (use the correct path!) and have vi crack numbers directly from inside your editor. Simply locate your cursor on a binary/hex stream of digits and type ":CrackNum". See the "crackNum.vim" file for binding details.
- Import FloatingHex qualified to avoid GHC 8.4.1 compilation issue
- Minor fix to printing of +/-0
- Bump up FloatingHex dependency to >0.4, this enables proper support for large doubles
- Fix a snafu in reading hexadecimal floats
- Add support for hexadecimal-floats. These now work both in toIEEE option as input, and also when printing the values out. (i.e., numbers of the form 0x1.abp-3, etc.)
- Typo fixes; no functionality changes
- Fix NaN nomenclature: Screaming->Signaling
- Add an example to README.md
- Fix docs, github location
- Fix the constant qnan values for SP/DP
- Add conversions from float/double. Much easier to use.
- Better handling of nan values.
- Clean-up the API, examples etc.
- First implementation. Supports HP/SP/DP and signed/unsigned numbers in 8/16/32/64 bits.