X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=README.md;h=d1814cf217b63302c589dcb4e047a6db1b8397bd;hb=03cecad0b5793eb349e5d9f07524583df5ba09b6;hp=eb7b07e66f8e292becb7ecf38f9fad097dd183f9;hpb=d8e50d03e1f2402b77eb238a90a4666aeb795c35;p=sfpy.git diff --git a/README.md b/README.md index eb7b07e..d1814cf 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,34 @@ # sfpy softfloat and softposit in Python + * support for softposit posit8, quire8, posit16, and quire16 + * no softfloat support yet, still WIP + +## Demo +``` +>>> from sfpy import Posit16, Quire16 +>>> Posit16(1.3) + Posit16(1.4) +Posit16(2.7001953125) +>>> x = Posit16(7) +>>> x +Posit16(1.7881393432617188e-07) +>>> x += Posit16(9) +>>> x +Posit16(4.76837158203125e-07) +>>> q = Quire16() +>>> q.fdp_add(Posit16(11.0), Posit16(2.0)) +>>> q +uA.ui : 29056 +Quire16(22.0) +>>> q.p16 +uA.ui : 29056 +Posit16(22.0) +``` + +For a basic performance test of the API, try: `python timing.py` + +## Building +The cython module can be built in place in the usual way: +`python setup.py build_ext --inplace` +This requires the submodules to be checked out, and the static library `SoftPosit/build/Linux-x86_64-GCC/softposit.a` to be built. Note that in order for cython to be able to build the shared object for the module, the static library must be compiled with -fPIC, which currently requires modifying the appropriate Makefile manually. + +The package can also be installed to a local Python distribution with pip, i.e. `pip install .` using the appropriate pip.