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 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).
