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.
bsp2 f8e7b21248 March 2019 modules update 6 years ago
..
.gitignore March 2019 modules update 6 years ago
FukushimaLambertW.cc March 2019 modules update 6 years ago
FukushimaLambertW.h March 2019 modules update 6 years ago
Horner.h March 2019 modules update 6 years ago
LICENSE-BSD-2C.txt March 2019 modules update 6 years ago
LICENSE-GPL-v2.txt March 2019 modules update 6 years ago
LambertW.cc March 2019 modules update 6 years ago
LambertW.h March 2019 modules update 6 years ago
Makefile March 2019 modules update 6 years ago
README.md March 2019 modules update 6 years ago
lambertw.cxx March 2019 modules update 6 years ago
test_accuracy.cxx March 2019 modules update 6 years ago

README.md

LambertW

C++ implementation of the Lambert W(x) function.

The implementation grew out of the code that was first used in the mathematical utilities of the Offline Reconstruction Software Framework of the Pierre Auger Observatory.

The work is described in the following publications:

This is currently the fastest known implementation of the Lambert W function on the planet.

License

Released under dual licence: the GPL version 2 and the two-clause BSD license.

Scientific or technical publications resulting from projects using this code are required to add the Comp. Phys. Comm. 183 (2012) 2622-2628 citation among their references.

Usage

All the relevant code is placed into an utl namespace.

The two branches (0 and -1) of the Lambert function can be specified as template parameters, e.g.

const double w = utl::LambertW<-1>(x);

or as normal parameters

const double w = utl::LambertW(-1, x);