Skip to content

Missing declarations and other problems in the *.f03 files for FORTRAN #387

@brianreinhold

Description

@brianreinhold

I have downloaded the latest FFTW3 zip. I used Visual Studio's lib exe to generate the necessary lib files for the Intel Fortran compiler. Now I have a problem with the *.f03 files which define interfaces and parameters (constants).

  • First, only one of the files, fftw3.f03, contained the necessary parameters used by the interface declarations.
  • The other two, fftw3l.f03 and fftw3q.f03 contained no parameters at all.

I had to make module wrappers for the three files in order for the intel compiler to recognize and compile them. In order to do that I had to convert fftw3.f which contains a bunch of parameters, into a module. Then I had to use this module in the two module wrappers for the fftw3l.f03 and fftw3q.f03 files. In addition, in these two module wrappers I had to declare this parameter integer, parameter :: C_FFTW_R2R_KIND = C_INT32_T as it was not present in the two files and is not present in fftw3.f, but it IS present in fftw3.f03. So now I have three files, two of which look like this:

module FFTW3L_Module
    use, intrinsic :: iso_c_binding
    use FFTW3ParamsModule
    integer, parameter :: C_FFTW_R2R_KIND = C_INT32_T
    include 'fftw3l.f03'
end module FFTW3L_Module

and one of which looks like this

module FFTW3_Module
    use, intrinsic :: iso_c_binding
    include 'fftw3.f03'
end module FFTW3_Module

As I see it, there are three errors

  1. The parameter C_FFTW_R2R_KIND = C_INT32_T is missing in two files
  2. Two files need fftw3.f and one does not
  3. Inconsistencies between the development and use of these files.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions