Skip to content

ethan42/souffle-addon

 
 

Repository files navigation

A simple add-on dynamic library for more complex arithmetic operations in Souffle-Datalog (https://souffle-lang.github.io).

Current coverage:

  • 256-bit arithmetic (for crypto)

Dependencies:

Functor compilation is rellying on the underlying word size of the installed souffle binary. Due to that, our Makefile is parametrized via its WORD_SIZE parameter. The make WORD_SIZE=$(souffle --version | sed -n 3p | cut -c12,13) command will build the functor with the correct word size (for latest souffle versions). Usage:

$ make WORD_SIZE=32|64          # builds all, sets libfunctors.so as a link to libsoufflenum.so
$ export LD_LIBRARY_PATH=`pwd`  # or wherever you want to put the resulting libfunctors.so

and use a Souffle program with the num256functors.dl definitions. For compiled execution, libfunctors.so (i.e., at least a link to the real .so) should be in the compilation directory.

A sample Souffle client program can be found under directory dlexample.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 63.2%
  • C 35.5%
  • Makefile 1.3%