Skip to content

To update the fftpack package #1

@zoziha

Description

@zoziha

You recommended me (see fortran-lang/fpm-registry#40 (comment)) to check whether the code in this repository(certik/fftpack) is consistent with netlib/dfftpack1.0 (fftpack4.0). I confirm that they are consistent.
And I want to learn from brocolis/fftpack to make dfftpack1.0(fftpack4.0) also support fpm. I will do this immediately.

Later, We update dfftpack1.0(fftpack4.0) to fftpack5.1:
netlib/dfftpack1.0(fftpack4.0) with a easy-to-use interface (-> ncar/fftpack5.1 with a easy-to-use interface -> john/fftpack5.1 with a easy-to-use interface) -> fftpack5.1 with a easy-to-use interface.

I got inspiration from stdlib, I think we can use fypp as a preprocessor to deal with the multi-precision problem of fftpack package.
Do we need to use fypp to refactor netlib/dffpack1.0(fftpack4.0) and nacr/fftpack5.1?

Tasks

  • Let's collect the original sources from netlib. Commit. This might be similar to https://github.com/certik/fftpack, but we should check we got everything.
  • we should add tests, the only test I see there is in https://github.com/certik/fftpack/blob/030cbf4fd35c35ef19387b4835bde3ac73019b64/test.f
  • We should add Fortran 90 interface to the package (add fpm support, keep make support)
  • Add 2D and 3D transforms
  • Check any other functionality from the repositories you mentioned and see if there is anything else that we should include
    Such as fftshift, czt, hilbert, filter.
  • Add benchmarks
  • Some documentation how to use
  • Multiple precision
  • Use Fortran SAVE feature to save wsave(:)

Links

  1. netlib/dfftpack1.0(fftpack4.0) (License : public domain)
    Fortran77
  2. nacr/fftpack5.1 (License: look like MIT and BSD-3, see comment)
    Fortran77
  3. John Burkardt/fftpack5.1 (License: LGPL/GPL)
    Fortran90 from nacr/fftpack5.1
  4. QcmPlab/SciFortran (License: shall be GPL)
    From John Burkardt fortran90, fftpack5.1 with interface.
  5. keurfonluu/FFTPack (License: shall be GPL)
    From John Burkardt fortran90, fftpack5.1 with interface.
  6. jlokimlin/modern_fftpack (License: FFTPACK license look like MIT and BSD-3 ?)
    Fortran90, look like from nacr/fftpack5.1 ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions