update readme
[sfpy.git] / README.md
index eb7b07e66f8e292becb7ecf38f9fad097dd183f9..d815eec9a49878fcc903fd6f436ad0d01f204db6 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,2 +1,28 @@
 # sfpy
 softfloat and softposit in Python
+  * support for softposit posit8, quire8, posit16, and quire16
+  * no softfloat support yet, still WIP
+## Demo
+```
+>>> from posit 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)
+```
+## 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.