Note: Community contributions shared here are not endorsed by the NGA team (unless explicitly stated) for posit compliance.
Team Members: Neil Ryan, Katie Lim, Gus Smith, Dan Petrisko (University of Washington)
Click Here to read paper/poster.
A parameterized Verilog HDL posit arithmetic core generator is developed for posit arithmetic (adder, multiplier and division arithmetic). These generators support the posit standard including rounding to nearest rounding method and can be used to generate the Verilog HDL for any combination of Word-Size (N) and Exponent-Size (ES).
A posit arithmetic emulator. Julia types for the C-based SoftPosit library.
Tensorflow has been ported to support 16-bit posit.
This is the python wrapper (using SWIG) of SoftPosit. It works with both Python 2 and 3.
These are a set of racket bindings for the softposit library by David Thien.
This is a support for softfloat and softposit in Python by Bill Zorn.
This is an Octave implementation of Posits arithmetic by Diego Coelho.
This is a fast posit C implementation of by S.H. Leong (Cerlane). It includes a C++ wrapper to override operators (slower) for easier use. Currently it supports 8-bit posit(es=0), 16-bit posit (es=1), 32-bit (es=2) and a flexible size type for 2 to 32-bit posits (es=2). For deep learning, please use quire for error free accumulations. Functionalities include add, subtract, divide, multiply, fused-multiply-add, fused-dot-products with quire, square root, conversion of types from double to posit and vice versa, round to nearest integer, convert to 32 bit integer and comparison (less than, less than equal and equal). Square root and round to nearest integer are written in collaboration with J. Gustafson. This software is endorsed by NGA.
This is a parameterized Verilog HDL for Unum Posit number system arithmetic by Manish Kumar Jaiswal .
This is a python implementation of Posits and Quires (Drop-in replacement for IEEE Floats) by Ken Mercado.
This is a posit C++ implementation by Stillwater Supercomputing, Inc.
This is an untitled verilog effort by Isaac Yonemoto, intended for Deep Learning applications Addition, Subtraction and Multiplication only.
This is a sigmoid function based on posit Julia implementation by Isaac Yonemoto.
This is a fast sigmoid function based on posit C++ implementation by Isaac Yonemoto.
This is a Type II Unum implementiation using Python by Emanuele Ruffaldi.
This is a Type II Unum implementation using C++ by Emanuele Ruffaldi.
This is a Type II Julia implementation by Rex-Computing. Support for this work came in part from the following sources: DARPA Contract D15PC00135 awarded to REX Computing, Inc, DARPA Contract HR0011-17-9-0007 awarded to Etaphase, Inc.
This is a Python implementation of Unum (Pnums) by Jason Merrill. It is based on Type II Unum proposal but have several limitations and differences.
This is a Python port of the Mathematica unum prototype by Jeff Muizelaar.
This is a C implementation by Lawrence Livermore National Laboratory. It is based on Type I Unum and includes functions that support the creation of unums and conversion between unums and primitive 'C' types.
This is a Java implementation by Lawrence Livermore National Laboratory. It is based on Type I Unum.