Non-uniform fast Fourier transform