Next-generation arithmetic implementations, improved floating point number types for .NET, written in C#. Includes the following number types:
- Posit: a drop-in replacement for standard
doubles that provides more accurate results with fewer bits. Can be used in any .NET software that needs better accuracy than
doubles. For more info see the "Beating Floating Point at its Own Game: Posit Arithmetic" white paper.
- Unum: similar to posit but with a more complex implementation, a prior idea; just a basic proof of concept. For more info see the [compilation of unum resources](](http://www.johngustafson.net/unums.html) on Dr. John Gustafson's website.
This project was developed as part of Hastlayer, the .NET HLS tool that converts .NET programs into equivalent logic hardware implementations. Both the posit and unum implementation can be automatically converted into FPGA-implemented logic hardware.
We've written a detailed whitepaper about our posit implementation and its results. You can download the whitepaper for free by visiting the link found on our Next Generation Arithmetic with Hastlayer page.
This project is developed by Lombiq Technologies Ltd. Commercial-grade support is available through Lombiq.
Unum is a new number format invented by Dr. John L. Gustafson that can be used to store any number with exact precision (or known error). It can be used to achieve better range and accuracy than IEEE floating point formats while eliminating the algebraic errors that the IEEE floats are prone to.
For more about its advantages see: http://ubiquity.acm.org/article.cfm?id=2913029.
Contributing and support
Bug reports, feature requests, comments, questions, code contributions, and love letters are warmly welcome, please do so via GitHub issues and pull requests. Please adhere to our open-source guidelines while doing so.
This project is developed by Lombiq Technologies. Commercial-grade support is available through Lombiq.