FORTRAN SOFTWARE CATALOG

Repository owner: Zydrunas Gimbutas (zgimbutas)

nufft1d

Nonuniform Fourier transforms in 1 dimension.

Repository · Pinned source (42a04333f882) · Try in playground · Checked package example

GAMS classifications

About this package

Category
Fourier transforms
License
BSD-2-Clause

Topics: fourier-transform, nonuniform-fft, spectral-methods

Classification scope and review notes

Original one-dimensional nonuniform Fourier code using the dynamically allocated Fortran 90 interface and bundled Netlib FFT implementation. Forty-nine checksum-guarded edits change legacy extent-one FFT dummy-array declarations to assumed size; every changed array is checked against its containing procedure argument list. No local arrays, transform formulas or global bounds-checking settings are changed. Legacy workspace argument type punning is accepted with the package-specific -fallow-argument-mismatch option. The example evaluates a type-1 transform of 96 deterministic nonuniform points into 32 modes for both exponent signs and compares every complex coefficient with an independent direct sum, including the documented 1/nj normalization. Status and finite values are checked. Types 2/3, the static Fortran 77 interface and every bundled FFT routine are not verified.

Package dependencies

Resolved GitHub repositories used by the verified playground build, combining direct and indirect dependencies. This list does not describe internal module dependencies or native system libraries.

Required by this build

No additional GitHub package dependencies were recorded for this verified build.

Build record verified 2026-10-29.

Used by (0 selected packages)

No other selected build records this repository as a dependency. This is not a measure of usage outside the catalog.

Reviewed procedures

These mappings have pinned source evidence. A checked package example may exercise only some of them; source review is not a numerical benchmark.

nufft1d1f90

Module: classic Fortran 90 interface

J1

J1: verified

Derivatives / callbacks: not applicable

Original one-dimensional nonuniform Fourier code using the dynamically allocated Fortran 90 interface and bundled Netlib FFT implementation. Forty-nine checksum-guarded edits change legacy extent-one FFT dummy-array declarations to assumed size; every changed array is checked against its containing procedure argument list. No local arrays, transform formulas or global bounds-checking settings are changed. Legacy workspace argument type punning is accepted with the package-specific -fallow-argument-mismatch option. The example evaluates a type-1 transform of 96 deterministic nonuniform points into 32 modes for both exponent signs and compares every complex coefficient with an independent direct sum, including the documented 1/nj normalization. Status and finite values are checked. Types 2/3, the static Fortran 77 interface and every bundled FFT routine are not verified. The class-specific J1 driver adds 24 type-1 transforms: 80 nonuniform sources, 15/16/31/32 modes, three deterministic strength patterns and both exponent signs, checked against independently accumulated trigonometric sums and the exact zero mode. Type 2/3 and performance remain unverified.

Pinned source: nufft1df90.f · dfft.f

Author examples/tests: nufft1d_demof90.f

Load checked GAMS driver: gams-nufft1d-sum-reference