Skip to content

A LuaJIT wrapper for the PUMAS Monte Carlo engine

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
LICENSE
Notifications You must be signed in to change notification settings

niess/pumas-luajit

Repository files navigation

PUMAS-LuaJIT Documentation Status

A LuaJIT wrapper for the PUMAS Monte Carlo engine

This is Work In Progress

The pumas LuaJIT package allows to use the PUMAS C Monte Carlo engine from a high level language: Lua. Native performances are achieved thanks to the excellent Just-In-Time compiler of LuaJIT.

Installation

Installation on Windows is not yet supported but might be considered in the future. Meanwhile one might use Windows Subsystem for Linux instead.

The luajit executable and the pumas package are available as a single runtime: pumas-luajit. This runtime can be downloaded as a rolling release. Note that you need to change the mode of the downloaded file to executable, e.g. as:

wget https://github.com/niess/pumas-luajit/releases/download/linux/luajit-pumas
chmod u+x luajit-pumas

The luajit-pumas runtime can also be compiled from source by running the provided Makefile as:

make install PREFIX=$(pwd) MACOSX_DEPLOYMENT_TARGET=10.7

The MACOSX_DEPLOYMENT_TARGET argument is not needed on Linux but must be provided on OSX. In the latter case the deployment target version must be equal or greater than 10.7.

For Lua users, the pumas package is also available independently as a binary rock. It can be used with alternative LuaJIT runtimes e.g. the LÖVE game engine.

Documentation

A preliminary documentation is available from Read the Docs. You might also try the provided examples, e.g as:

luajit-pumas examples/materials.lua

License

The pumas LuaJIT package is under the GNU LGPLv3 license. See the provided LICENSE and COPYING.LESSER files. The examples however have a separate public domain license and can be be copied without any restriction.