Principal author Alex H. Barnett,
main co-developers Jeremy F. Magland,
Ludvig af Klinteberg, Yu-hsuan "Melody" Shih, Andrea Malleo, Libin Lu,
and Joakim Andén;
see docs/ackn.rst for full list of contributors.

This is a lightweight library to compute the three standard types of nonuniform FFT to a specified precision, in one, two, or three dimensions. It is written in C++ with interfaces to C, Fortran, MATLAB/octave, and Python. A Julia interface also exists.
Please see the online documentation, or its local PDF equivalent, the user manual.
You will also want to see example codes in the directories
examples, test, fortran, matlab/test, and python/test.
If you cannot compile, or pip install, try our precompiled binaries.
If you prefer to read text files, the source to generate the above documentation is in human-readable (mostly .rst) files as follows:
docs/install.rst: installation and compilation instructionsdocs/dirs.rst: explanation of directories and files in the packagedocs/math.rst: mathematical definitionsdocs/cex.rst: example usage from C++/Cdocs/c.rst: documentation of C++/C functionsdocs/opts.rst: optional parametersdocs/error.rst: error codesdocs/trouble.rst: troubleshootingdocs/tut.rstanddocs/tutorial/*: tutorial application examplesdocs/fortran.rst: usage examples from Fortran, documentation of interfacedocs/matlab.rstanddocs/matlabhelp.raw: using the MATLAB/Octave interfacedocs/python.rstandpython/*/_interfaces.py: using the Python interfacedocs/julia.rst: using the Julia interfacedocs/devnotes.rst: notes/guide for developersdocs/related.rst: other recommended NUFFT packagesdocs/users.rst: users of FINUFFT and dependent packagesdocs/ackn.rst: authors and acknowledgmentsdocs/refs.rst: journal article references (ours and others)
If you find FINUFFT useful in your work, please cite this repository and our paper:
A parallel non-uniform fast Fourier transform library based on an ``exponential of semicircle'' kernel. A. H. Barnett, J. F. Magland, and L. af Klinteberg. SIAM J. Sci. Comput. 41(5), C479-C504 (2019).
