dfft3b - compute a periodic sequence from its Fourier coefficients. The DFFT operations are unnormalized, so a call of DFFT3F followed by a call of DFFT3B will multiply the input sequence by M*N*K. =head1 SYNOPSIS
SUBROUTINE DFFT3B( PLACE, M, N, K, A, LDA, B, LDB, WORK, LWORK) CHARACTER * 1 PLACE INTEGER M, N, K, LDA, LDB, LWORK DOUBLE PRECISION A(LDA,N,*), B(LDB,N,*), WORK(*)
SUBROUTINE DFFT3B_64( PLACE, M, N, K, A, LDA, B, LDB, WORK, LWORK) CHARACTER * 1 PLACE INTEGER*8 M, N, K, LDA, LDB, LWORK DOUBLE PRECISION A(LDA,N,*), B(LDB,N,*), WORK(*)
SUBROUTINE FFT3B( PLACE, [M], [N], [K], A, [LDA], B, [LDB], WORK, * LWORK) CHARACTER(LEN=1) :: PLACE INTEGER :: M, N, K, LDA, LDB, LWORK REAL(8), DIMENSION(:) :: WORK REAL(8), DIMENSION(:,:,:) :: A, B
SUBROUTINE FFT3B_64( PLACE, [M], [N], [K], A, [LDA], B, [LDB], WORK, * LWORK) CHARACTER(LEN=1) :: PLACE INTEGER(8) :: M, N, K, LDA, LDB, LWORK REAL(8), DIMENSION(:) :: WORK REAL(8), DIMENSION(:,:,:) :: A, B
#include <sunperf.h>
void dfft3b(char place, int m, int n, int k, double *a, int lda, double *b, int ldb, double *work, int lwork);
void dfft3b_64(char place, long m, long n, long k, double *a, long lda, double *b, long ldb, double *work, long lwork);
A(LDA,N,K)
contains the data to be
transformed if an in-place transform is requested. Otherwise, it is not
referenced. Upon exit, results are stored in A(1:M,1:N,1:K).
B(1:2*(M/2+1),1:N,1:K)
contains the input data. Otherwise,
B is not referenced. B is unchanged upon exit.