Beyond Floating Point - Posit C/C++ implementation
Switch branches/tags
Nothing to show
Clone or download
libcg posit: fix comparison
comparison needs to be done on signed numbers.
Latest commit 92620ff Oct 20, 2018
Permalink
Failed to load latest commit information.
lib posit: fix comparison Oct 20, 2018
test test: add P3Add/Sub tests Nov 6, 2017
.editorconfig add .editorconfig Aug 6, 2017
.gitignore add gitignore Feb 15, 2017
LICENSE LICENSE: fix formatting Feb 14, 2017
Makefile introduce op2, move mul there Jun 15, 2017
README.md README: add link to paper Oct 1, 2017
main.cpp initial commit Feb 13, 2017

README.md

bfp - Beyond Floating Point

bfp is a C/C++ posit floating point format implementation.

From Dr. John L. Gustafson's intro:

"A new data type called a "posit" is designed for direct drop-in replacement for IEEE Standard 754 floats. Unlike unum arithmetic, posits do not require interval-type mathematics or variable size operands, and they round if an answer is inexact, much the way floats do. However, they provide compelling advantages over floats, including simpler hardware implementation that scales from as few as two-bit operands to thousands of bits. For any bit width, they have a larger dynamic range, higher accuracy, better closure under arithmetic operations, and simpler exception-handling. For example, posits never overflow to infinity or underflow to zero, and there is no "Not-a-Number" (NaN) value. Posits should take up less space to implement in silicon than an IEEE float of the same size. With fewer gate delays per operation as well as lower silicon footprint, the posit operations per second (POPS) supported by a chip can be significantly higher than the FLOPs using similar hardware resources. GPU accelerators, in particular, could do more arithmetic per watt and per dollar yet deliver superior answer quality."

Goals

  • Create a human readable posit reference implementation
  • Can be used as a library
  • Can be used in embedded projects

References