switchreal.f90

来自「基于linux操作下的fortran快速付立变换的程序」· F90 代码 · 共 48 行

F90
48
字号
 	subroutine switchreal(includelast,n1dfft,n2,n2eff,lot,n1zt,lzt,zt,zw)	implicit real*8 (a-h,o-z)	dimension zw(2,lot,n2),zt(2,lzt,n1zt)        if(includelast==1)then!        Compute symmetric and antisymmetric combinations         do j=1,n1dfft          zw(1,j,1)=zt(1,1,2*j-1)          zw(2,j,1)=zt(1,1,2*j  )         enddo         do i=2,n2eff          do j=1,n1dfft           zw(1,j,i)=      zt(1,i,2*j-1)-zt(2,i,2*j)           zw(2,j,i)=      zt(2,i,2*j-1)+zt(1,i,2*j)           zw(1,j,n2+2-i)= zt(1,i,2*j-1)+zt(2,i,2*j)           zw(2,j,n2+2-i)=-zt(2,i,2*j-1)+zt(1,i,2*j)          enddo         enddo        else !        An odd number of FFTs!        Compute symmetric and antisymmetric combinations         do j=1,n1dfft-1          zw(1,j,1)=zt(1,1,2*j-1)          zw(2,j,1)=zt(1,1,2*j  )         enddo         zw(1,n1dfft,1)=zt(1,1,2*n1dfft-1)         zw(2,n1dfft,1)=0.0d0         do i=2,n2eff          do j=1,n1dfft-1           zw(1,j,i)=      zt(1,i,2*j-1)-zt(2,i,2*j)           zw(2,j,i)=      zt(2,i,2*j-1)+zt(1,i,2*j)           zw(1,j,n2+2-i)= zt(1,i,2*j-1)+zt(2,i,2*j)           zw(2,j,n2+2-i)=-zt(2,i,2*j-1)+zt(1,i,2*j)          enddo          zw(1,n1dfft,i)=      zt(1,i,2*n1dfft-1)          zw(2,n1dfft,i)=      zt(2,i,2*n1dfft-1)          zw(1,n1dfft,n2+2-i)= zt(1,i,2*n1dfft-1)          zw(2,n1dfft,n2+2-i)=-zt(2,i,2*n1dfft-1)         enddo        endif        end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?