Fast IFS using RPN notation
python
c
x86-64
nasm
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Yann Weber 65875ab93a Moved named tuple init in pyrpn module and declaration in python_const 1 year ago
python_rpnifs Ifs5 implementation enhancement 2 years ago
tests Preparing mutation with bugfix & enhancement in jit & parse 1 year ago
Doxyfile.mk Initial commit 5 years ago
LICENCE.txt Initial commit 5 years ago
Makefile Merge branch 'new_makefile' into python_rpnifs5 1 year ago
README Initial commit 5 years ago
VERSION Initial commit 5 years ago
check_deps.sh Initial commit 5 years ago
config.h Initial commit 5 years ago
deploy.sh Adds almost useless doc 1 year ago
python_const.c Moved named tuple init in pyrpn module and declaration in python_const 1 year ago
python_const.h Moved named tuple init in pyrpn module and declaration in python_const 1 year ago
python_if.c Moved named tuple init in pyrpn module and declaration in python_const 1 year ago
python_if.h Moved named tuple init in pyrpn module and declaration in python_const 1 year ago
python_pyrpn.c Moved named tuple init in pyrpn module and declaration in python_const 1 year ago
python_pyrpn.h Debug + implements IterExpr in python module (rpn_if objects) 4 years ago
python_rpnexpr.c Preparing mutation with bugfix & enhancement in jit & parse 1 year ago
python_rpnexpr.h Add expression accessor for RPNIterExpr 1 year ago
rpn_if.c Bugfix & enhancement in rpn_if 1 year ago
rpn_if.h Bugfix & enhancement in rpn_if 1 year ago
rpn_if_default.c Bugfix & enhancement in rpn_if 1 year ago
rpn_if_default.h Bugfix & enhancement in rpn_if 1 year ago
rpn_ifs.c IFS weight update implementation 4 years ago
rpn_ifs.h IFS weight update implementation 4 years ago
rpn_jit.c Preparing mutation with bugfix & enhancement in jit & parse 1 year ago
rpn_jit.h Preparing mutation with bugfix & enhancement in jit & parse 1 year ago
rpn_lib.asm Adds the security section to instruct ld to protect the stack 1 year ago
rpn_lib.h Bugfix & enhancement in rpn_if 1 year ago
rpn_parse.c Preparing mutation with bugfix & enhancement in jit & parse 1 year ago
rpn_parse.h Preparing mutation with bugfix & enhancement in jit & parse 1 year ago
send_live.example Adds almost useless doc 1 year ago

README

rpnifs fast IFS using RPN notation :
====================================

Provides :
----------
- C library for parameterized RPN expression JIT compilation and evaluation
- C library for handling IFS (composed of JIT RPN expressions)
- C library for RPN expression random mutation
- Python bindings : pyrpn Python module (pyrpn.so)

More details on Python module by running :
make && python3 -c "import pyrpn; help(pyrpn)"

More details on C API see Doxygen documentation.

Dependencies :
--------------
- gcc
- nasm
- ld
- python3
- python3 headers

Documentation :
- doxygen
- git

Compilation :
-------------
make

Doxygen documentation :
-----------------------
make doc
www-browser doc/html/index.html

Running self tests and benchmark :
----------------------------------
make checks

Debugging :
-----------
make clean
DEBUG=1 make
DEBUG=1 make check