![]() |
Octopus
|
Non-equispaced FFTs through the C interface of the FINUFFT library. More...
Non-equispaced FFTs through the C interface of the FINUFFT library.
Data Types | |
| type | finufft_t |
Functions/Subroutines | |
| subroutine, public | finufft_read_options (finufft, namespace) |
| subroutine, public | finufft_init (finufft, finufft_options, N, dim, M) |
| subroutine, public | finufft_precompute (finufft, X1, X2, X3) |
| Hand the spatial nodes to FINUFFT. More... | |
| subroutine | finufft_scale_nodes (X, v, inv_spacing) |
| Map the nodes onto [-1/2, 1/2) and return the reciprocal of the smallest scaled spacing. More... | |
| subroutine, public | finufft_write_info (finufft) |
| subroutine, public | finufft_end (finufft) |
| subroutine, public | dfinufft_forward (finufft, in, out) |
| Evaluate the Fourier modes on the non-equispaced nodes. More... | |
| subroutine, public | dfinufft_backward (finufft, in, out) |
| Project the non-equispaced nodes back onto the Fourier modes. More... | |
| subroutine, public | zfinufft_forward (finufft, in, out) |
| Evaluate the Fourier modes on the non-equispaced nodes. More... | |
| subroutine, public | zfinufft_backward (finufft, in, out) |
| Project the non-equispaced nodes back onto the Fourier modes. More... | |
| subroutine, public finufft_oct_m::finufft_read_options | ( | type(finufft_t), intent(inout) | finufft, |
| type(namespace_t), intent(in) | namespace | ||
| ) |
Definition at line 165 of file finufft.F90.
| subroutine, public finufft_oct_m::finufft_init | ( | type(finufft_t), intent(inout) | finufft, |
| type(finufft_t), intent(in) | finufft_options, | ||
| integer, dimension(3), intent(in) | N, | ||
| integer, intent(in) | dim, | ||
| integer, dimension(3), intent(in) | M | ||
| ) |
| [in] | n | number of Fourier modes |
| [in] | dim | number of spatial dimensions |
| [in] | m | number of spatial nodes |
Definition at line 189 of file finufft.F90.
| subroutine, public finufft_oct_m::finufft_precompute | ( | type(finufft_t), intent(inout) | finufft, |
| real(real64), dimension(:), intent(in) | X1, | ||
| real(real64), dimension(:), intent(in), optional | X2, | ||
| real(real64), dimension(:), intent(in), optional | X3 | ||
| ) |
Hand the spatial nodes to FINUFFT.
Takes the 1D coordinate vectors defining each axis, X1 for x, X2 for y and X3 for z, and expands them into the Cartesian grid of nodes that FINUFFT expects as a flat list, indexed in Fortran order.
Definition at line 226 of file finufft.F90.
|
private |
Map the nodes onto [-1/2, 1/2) and return the reciprocal of the smallest scaled spacing.
Definition at line 304 of file finufft.F90.
| subroutine, public finufft_oct_m::finufft_write_info | ( | type(finufft_t), intent(in) | finufft | ) |
Definition at line 330 of file finufft.F90.
| subroutine, public finufft_oct_m::finufft_end | ( | type(finufft_t), intent(inout) | finufft | ) |
Definition at line 364 of file finufft.F90.
| subroutine, public finufft_oct_m::dfinufft_forward | ( | type(finufft_t), intent(in) | finufft, |
| real(real64), dimension(:,:,:), intent(in) | in, | ||
| complex(real64), dimension(:,:,:), intent(out) | out | ||
| ) |
Evaluate the Fourier modes on the non-equispaced nodes.
Definition at line 451 of file finufft.F90.
| subroutine, public finufft_oct_m::dfinufft_backward | ( | type(finufft_t), intent(in) | finufft, |
| complex(real64), dimension (:,:,:), intent(in) | in, | ||
| real(real64), dimension(:,:,:), intent(out) | out | ||
| ) |
Project the non-equispaced nodes back onto the Fourier modes.
Definition at line 470 of file finufft.F90.
| subroutine, public finufft_oct_m::zfinufft_forward | ( | type(finufft_t), intent(in) | finufft, |
| complex(real64), dimension(:,:,:), intent(in) | in, | ||
| complex(real64), dimension(:,:,:), intent(out) | out | ||
| ) |
Evaluate the Fourier modes on the non-equispaced nodes.
Definition at line 562 of file finufft.F90.
| subroutine, public finufft_oct_m::zfinufft_backward | ( | type(finufft_t), intent(in) | finufft, |
| complex(real64), dimension (:,:,:), intent(in) | in, | ||
| complex(real64), dimension(:,:,:), intent(out) | out | ||
| ) |
Project the non-equispaced nodes back onto the Fourier modes.
Definition at line 581 of file finufft.F90.