Fast IFS using RPN notation
python
c
x86-64
nasm
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
Yann Weber e64bad9cf3 Bugfix + adds python_if.* files 4 年前
tests Modified benchmark script 4 年前
Doxyfile.mk Initial commit 4 年前
LICENCE.txt Initial commit 4 年前
Makefile Updated comment + starts ifs headers 4 年前
README Initial commit 4 年前
VERSION Initial commit 4 年前
check_deps.sh Initial commit 4 年前
config.h Initial commit 4 年前
python_if.c Bugfix + adds python_if.* files 4 年前
python_if.h Bugfix + adds python_if.* files 4 年前
python_pyrpn.c Initial commit 4 年前
python_pyrpn.h Initial commit 4 年前
python_rpnexpr.c Implementing pickle interface for RPNExpr 4 年前
python_rpnexpr.h Updated comment + starts ifs headers 4 年前
rpn_if.c Updated Iterated function API 4 年前
rpn_if.h Updated Iterated function API 4 年前
rpn_if_default.c Adds ifs function implementations (begining) 4 年前
rpn_if_default.h Updated comment + starts ifs headers 4 年前
rpn_ifs.c Bugfix + adds python_if.* files 4 年前
rpn_ifs.h Bugfix + adds python_if.* files 4 年前
rpn_jit.c Updated Iterated function API 4 年前
rpn_jit.h Updated Iterated function API 4 年前
rpn_lib.asm Bugfix in rpn_lib.asm 4 年前
rpn_lib.h typedef unsigned long int rpn_value_t 4 年前
rpn_mutation.c Initial commit 4 年前
rpn_mutation.h Initial commit 4 年前
rpn_parse.c Add end map when untokenizing + debug message + comment 4 年前
rpn_parse.h Initial commit 4 年前
test.c Implementing pickle interface for RPNExpr 4 年前

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