module fft_work ! ! Wrapper/interface for fft routines ! ! (c) Copyright 1991 to 1998 by Michael A. Beer, William D. Dorland, ! P. B. Snyder, Q. P. Liu, and Gregory W. Hammett. ALL RIGHTS RESERVED. ! implicit none ! ccfft ! UNICOS: ! table(100 + 8*n) ! work(8*n) ! UNICOS/mk: ! table(2*n) ! work(4*n) ! Origin: ! table(30 + 2*n) ! work(2*n) integer, parameter :: ccfft_table0 = 30 integer, parameter :: ccfft_table1 = 2 integer, parameter :: ccfft_work0 = 0 integer, parameter :: ccfft_work1 = 2 ! csfft/scfft ! UNICOS: ! table(100 + 4*n) ! work(4 + 4*n) ! UNICOS/mk: ! table(2*n) ! work(2*n) ! Origin: ! table(15 + n) ! work(n) integer, parameter :: csfft_table0 = 15 integer, parameter :: csfft_table1 = 1 integer, parameter :: csfft_work0 = 0 integer, parameter :: csfft_work1 = 1 contains ! translate from Cray fft names (where default precision is 64 bits) ! to Origin-2000 (where double precision is 64 bits) subroutine ccfft(i,n,scale,x,y,table,work,isys) integer :: i, n, isys real :: scale complex, dimension(n) :: x, y real, dimension(*) :: table real, dimension(*) :: work call zzfft(i,n,scale,x,y,table,work,isys) end subroutine ccfft subroutine csfft(i,n,scale,x,y,table,work,isys) integer :: i, n, isys real :: scale complex, dimension(n/2+1) :: x real, dimension(n) :: y real, dimension(*) :: table real, dimension(*) :: work call zdfft(i,n,scale,x,y,table,work,isys) end subroutine csfft subroutine scfft(i,n,scale,x,y,table,work,isys) integer :: i, n, isys real :: scale complex, dimension(n/2+1) :: y real, dimension(n) :: x real, dimension(*) :: table real, dimension(*) :: work call dzfft(i,n,scale,x,y,table,work,isys) end subroutine scfft end module fft_work