The flag FFTW_INIT causes the library to initialise the plans for the fft; iff FFT_OUT_OF_PLACE is set, the vectors and have their own allocated memory, otherwise they share.
Precomputation can be customised by the flags PRE_PHI_HUT, PRE_PSI, and PRE_FULL_PSI; PRE_PHI_HUT causes the initialisation routine to precompute the values in their tensor product form. The flag PRE_PSI causes the allocation of memory for , used in the 3rd step of Algorithm 1. The routine has to be called for the actual precomputation. Again, the library uses the tensor product form, which leads to a memory usage of doubles per knot, but an arithmetic complexity of per knot; similar to what is called 'fast gridding' in [13], where the storage requirements are further decreased for the Gaussian window function. In contrast, if in addition the flag PRE_FULL_PSI is set, the library uses doubles and integers (for indices) per knot, which leads to an arithmetic complexity of per knot. In this case the nfft_full_psi has to be called.