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 30c6c92493 Preparing implementation & python API for IFS mutation hace 4 meses
python_rpnifs Ifs5 implementation enhancement hace 1 año
tests Preparing implementation & python API for IFS mutation hace 4 meses
.gitignore Add gcov test coverage suppport hace 9 meses
Doxyfile.mk Comment & doxygen documentation enhancement hace 9 meses
LICENCE.txt Initial commit hace 4 años
Makefile First usable IFS implementation hace 7 meses
README Initial commit hace 4 años
VERSION Initial commit hace 4 años
benchplot.sh First usable IFS implementation hace 7 meses
check_deps.sh Initial commit hace 4 años
config.h Comment & doxygen documentation enhancement hace 9 meses
deploy.sh Adds almost useless doc hace 1 año
python_const.c Preparing implementation & python API for IFS mutation hace 4 meses
python_const.h Preparing implementation & python API for IFS mutation hace 4 meses
python_if.c Preparing implementation & python API for IFS mutation hace 4 meses
python_if.h Preparing implementation & python API for IFS mutation hace 4 meses
python_ifs.c Preparing implementation & python API for IFS mutation hace 4 meses
python_ifs.h Preparing implementation & python API for IFS mutation hace 4 meses
python_mutation.c Preparing implementation & python API for IFS mutation hace 4 meses
python_mutation.h Preparing implementation & python API for IFS mutation hace 4 meses
python_pyrpn.c Preparing implementation & python API for IFS mutation hace 4 meses
python_pyrpn.h Preparing implementation & python API for IFS mutation hace 4 meses
python_rpnexpr.c Preparing implementation & python API for IFS mutation hace 4 meses
python_rpnexpr.h Preparing implementation & python API for IFS mutation hace 4 meses
python_rpntoken.c Implement RPNIterExpr.shape() method + test + todo done hace 8 meses
python_rpntoken.h Comment & doxygen documentation enhancement hace 9 meses
rpn_if.c First usable IFS implementation hace 7 meses
rpn_if.h First usable IFS implementation hace 7 meses
rpn_if_default.c Implemented RPNIterExpr pickle/unpickle methods hace 8 meses
rpn_if_default.h Implemented RPNIterExpr pickle/unpickle methods hace 8 meses
rpn_if_mutate.c Preparing implementation & python API for IFS mutation hace 4 meses
rpn_if_mutate.h Preparing implementation & python API for IFS mutation hace 4 meses
rpn_ifs.c First usable IFS implementation hace 7 meses
rpn_ifs.h Preparing implementation & python API for IFS mutation hace 4 meses
rpn_ifs_mutate.c Preparing implementation & python API for IFS mutation hace 4 meses
rpn_ifs_mutate.h Preparing implementation & python API for IFS mutation hace 4 meses
rpn_jit.c Implementing serialization in rpn_jit and use it in python_rpnexpr get/setstate hace 8 meses
rpn_jit.h Implementing serialization in rpn_jit and use it in python_rpnexpr get/setstate hace 8 meses
rpn_lib.asm Bugfix rpn_lib.asm hace 9 meses
rpn_lib.h Comment & doxygen documentation enhancement hace 9 meses
rpn_mutate.c Preparing implementation & python API for IFS mutation hace 4 meses
rpn_mutate.h Preparing implementation & python API for IFS mutation hace 4 meses
rpn_parse.c Implementing serialization in rpn_jit and use it in python_rpnexpr get/setstate hace 8 meses
rpn_parse.h Implementing serialization in rpn_jit and use it in python_rpnexpr get/setstate hace 8 meses
send_live.example Adds almost useless doc hace 1 año

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