Skip to content

To update the fftpack package #1

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions