Directories in this packageΒΆ

When you git clone, or unpack a tar ball, you will get the following. (Please see installation instructions)

Main library source:

  • makefile : the single GNU makefile (there are no makefiles in subdirectories)

  •* : system-specific example overrides to use as your

  • src : main library C++ sources

  • include : header files, including those for users to compile against

  • contrib : 3rd-party codes in the main library

  • lib : dynamic (.so) library will be built here

  • lib-static : static (.a) library will be built here

Examples, tutorials, and docs:

  • examples : simple example codes for calling the library from C++ and C

  • tutorial : application demo codes (various languages), supporting docs/tutorial/

  • finufft-manual.pdf : the manual (auto-generated by sphinx, eg via make docs)

  • docs : source files for documentation (.rst files are human-readable, kinda)

  • : github-facing (and human text-only reader) welcome

  • LICENSE : how you may use this software

  • CHANGELOG : list of changes, release notes

  • TODO : list of things needed to fix or extend (also see git Issues)


  • test : main validation tests (C++/bash), including:

    • test/basicpassfail{f} simple smoke test with exit code

    • test/ is the main pass-fail validation bash script

    • test/results has validation comparison outputs (\*.refout; do not remove these), and local test outputs (\*.out; you may remove these)

  • perftest : main performance and developer tests (C++/bash), including:

    • test/ spread/interp performance test bash script

    • test/ NUFFT performance test bash script

Other language interfaces, further testing:

  • fortran : wrappers and example drivers for Fortran (see fortran/README)

  • matlab : MATLAB/octave wrappers, tests, and examples

  • python : python wrappers, examples, and tests

    • python/ci continuous integration tests

  • julia : (not yet functional; for now see FINUFFT.jl)