Fast IFS using RPN notation
Find a file
2023-11-27 18:39:22 +01:00
python_rpnifs Ifs5 implementation enhancement 2022-06-18 23:45:50 +02:00
tests Changes RpnExpr.mutate argument order 2023-11-27 18:39:22 +01:00
.gitignore Add gcov test coverage suppport 2023-08-10 11:28:33 +02:00
benchplot.sh First usable IFS implementation 2023-10-04 12:17:45 +02:00
check_deps.sh Initial commit 2020-01-24 16:48:27 +01:00
config.h Comment & doxygen documentation enhancement 2023-08-09 14:36:11 +02:00
deploy.sh Adds almost useless doc 2023-05-25 17:04:40 +02:00
Doxyfile.mk Comment & doxygen documentation enhancement 2023-08-09 14:36:11 +02:00
LICENCE.txt Initial commit 2020-01-24 16:48:27 +01:00
Makefile First usable IFS implementation 2023-10-04 12:17:45 +02:00
python_const.c Implements mmap.mmap usage in RPNIterExpr 2023-09-11 14:36:08 +02:00
python_const.h Implement RPNIterExpr.shape() method + test + todo done 2023-09-09 14:31:11 +02:00
python_if.c Implement buffer protocol for RPNIFS class 2023-10-05 11:16:41 +02:00
python_if.h Implement buffer protocol for RPNIFS class 2023-10-05 11:16:41 +02:00
python_ifs.c Implement buffer protocol for RPNIFS class 2023-10-05 11:16:41 +02:00
python_ifs.h First usable IFS implementation 2023-10-04 12:17:45 +02:00
python_pyrpn.c Squeleton of RPNIFS python class 2023-09-22 14:40:13 +02:00
python_pyrpn.h Squeleton of RPNIFS python class 2023-09-22 14:40:13 +02:00
python_rpnexpr.c Changes RpnExpr.mutate argument order 2023-11-27 18:39:22 +01:00
python_rpnexpr.h Comment & doxygen documentation enhancement 2023-08-09 14:36:11 +02:00
python_rpntoken.c Implement RPNIterExpr.shape() method + test + todo done 2023-09-09 14:31:11 +02:00
python_rpntoken.h Comment & doxygen documentation enhancement 2023-08-09 14:36:11 +02:00
README Initial commit 2020-01-24 16:48:27 +01:00
rpn_if.c First usable IFS implementation 2023-10-04 12:17:45 +02:00
rpn_if.h First usable IFS implementation 2023-10-04 12:17:45 +02:00
rpn_if_default.c Implemented RPNIterExpr pickle/unpickle methods 2023-09-18 00:19:31 +02:00
rpn_if_default.h Implemented RPNIterExpr pickle/unpickle methods 2023-09-18 00:19:31 +02:00
rpn_ifs.c First usable IFS implementation 2023-10-04 12:17:45 +02:00
rpn_ifs.h First usable IFS implementation 2023-10-04 12:17:45 +02:00
rpn_jit.c Implementing serialization in rpn_jit and use it in python_rpnexpr get/setstate 2023-09-10 17:12:19 +02:00
rpn_jit.h Implementing serialization in rpn_jit and use it in python_rpnexpr get/setstate 2023-09-10 17:12:19 +02:00
rpn_lib.asm Bugfix rpn_lib.asm 2023-08-10 17:08:25 +02:00
rpn_lib.h Comment & doxygen documentation enhancement 2023-08-09 14:36:11 +02:00
rpn_mutate.c Bugfix + tests for expression copy, len & mutations 2023-07-04 12:42:38 +02:00
rpn_mutate.h Comment & doxygen documentation enhancement 2023-08-09 14:36:11 +02:00
rpn_parse.c Implementing serialization in rpn_jit and use it in python_rpnexpr get/setstate 2023-09-10 17:12:19 +02:00
rpn_parse.h Implementing serialization in rpn_jit and use it in python_rpnexpr get/setstate 2023-09-10 17:12:19 +02:00
send_live.example Adds almost useless doc 2023-05-25 17:04:40 +02:00
VERSION Initial commit 2020-01-24 16:48:27 +01:00

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