Git Product home page Git Product logo

lust's Introduction

LUST

LUST (Lookup Special Tables) is a C++ library of special functions implemented using FunC lookup tables.

This library provides LUTs for long double, double, and float for each of its special functions. These tables are built with a relative pointwise error tolerance tol = std::numeric_limits<T>::epsilon (where T\in{float, double, long double}).

See website for a listing of every special function we support.

Requirements to use:

  • C++11 compliant compiler
  • FunC*

* Note that none of FunC's optional dependencies are required

Requirements to develop LUST:

  • C++11 compliant compiler
  • FunC*
  • Boost
  • Armadillo

Build:

  • CMake version >= 3.1
mkdir build && cd build/
cmake -DCMAKE_INSTALL_PREFIX=<install-dir>  ..
make install

After make install, linking to the library (outside of cmake build) requires:

  • <install-dir>/lib is in your LD_LIBRARY_PATH environment variable,
  • <install-dir>/include/lust is in your include flags, and
  • -llust is one of your linking flags

Implementation notes:

FunC can only build LUTs over finite unions of compact intervals. So, LUST must use some trickery to build a LUT over unbounded sets.

  • eg, if $f:\mathbb{R}\to\mathbb{R}$ and we build a LUT $l$ for $g(x)=f(\tan(\pi x/2))$ over $[-1,1]$ then $l(2*\arctan(x)/\pi)\approx f(x)$ for any $x\in\mathbb{R}$.

lust's People

Contributors

shawn-mcadam avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.