Skip to content
forked from uofs-simlab/func

FunC - Build better lookup tables

Notifications You must be signed in to change notification settings

shawn-mcadam/func

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FunC

FunC (Function Comparator) is a C++ tool for quickly profiling the performance of various different abstracted implementations of mathematical function evaluations for given:

  • computing environment
  • mathematical function
  • evaluation tolerance

Currently, only uniform LUTs (interpolation, Taylor, and Hermite) and direct evaluations are supported.

Requirements

  • C++11 compliant compiler
  • Boost (tested with 1.58-1.65)
  • quadmath (for tolerance-based table generation capabilities)

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/func is in your include flags, and
  • -lfunc -lfunc_impls are in your link flags

Notes

This tool is split up into two separate libraries:

  • func_impls provides the implementation types used in the library (does not require quadmath to build/use)
  • func combines the implementation types with
    • UniformLookupTableGenerator for generating LUTs according to various criteria (requires quadmath)
    • ImplementationComparator for comparing the performance of various implementations

References

TODO reference to SISC paper

Copyright

TODO decide on copyright

About

FunC - Build better lookup tables

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.4%
  • CMake 0.6%