/pyunum

Python port of the Mathematica unum prototype from "The End of Error"

Primary LanguagePython

This is a python port of the Mathematica unum prototype described in John
Gustafson's The End of Error: Unum Computing available here:
https://www.crcpress.com/product/isbn/9781482239867

It currently implements all that is needed for polynomial evalution
and brute-force solving. The goal is largey to follow the structure
of the original Mathematica version, but at the same time keep it
mostly readable Python.

The basic format of a Unum is:

sign bit | exponent bits | fraction bits | ubit | exponent size | fraction size

where the sizes of exponent bits and fraction bits fields depends on the
exponent size and fraction size fields. And the size of the exponent size
and fraction size fields is determined by the environment.

Some other implementations:
https://github.com/REX-Computing/unumjl
https://github.com/SFrijters/unum-d
https://github.com/tbreloff/Unums.jl