hdiff output

r33358/DSOFT.f90 2017-09-28 13:30:12.487300170 +0100 r33357/DSOFT.f90 2017-09-28 13:30:12.735303434 +0100
240:             IN1D(K3) = TEMP(K2,K1,K3)240:             IN1D(K3) = TEMP(K2,K1,K3)
241:         ENDDO241:         ENDDO
242:         CALL DFFTW_EXECUTE_(PLAN, IN1D, OUT1D)242:         CALL DFFTW_EXECUTE_(PLAN, IN1D, OUT1D)
243:         DO K3=1,2*BANDWIDTH243:         DO K3=1,2*BANDWIDTH
244:             TEMP(K2,K1,K3) = OUT1D(K3)/(2*BANDWIDTH)**2244:             TEMP(K2,K1,K3) = OUT1D(K3)/(2*BANDWIDTH)**2
245:         ENDDO245:         ENDDO
246:     ENDDO246:     ENDDO
247: ENDDO247: ENDDO
248: 248: 
249: ! Perform Discrete Wigner Transform249: ! Perform Discrete Wigner Transform
250: OUTPUT = CMPLX(0.D0,0.D0,REAL64)250: OUTPUT = CMPLX(0.D0,0.D0,8)
251: DO M2=-BANDWIDTH-1,BANDWIDTH-1251: DO M2=-BANDWIDTH-1,BANDWIDTH-1
252:     I2 = MODULO(M2, 2*BANDWIDTH) + 1252:     I2 = MODULO(M2, 2*BANDWIDTH) + 1
253:     IND2 = MODULO(M2, 2*BANDWIDTH-1) + 1253:     IND2 = MODULO(M2, 2*BANDWIDTH-1) + 1
254:     DO M1=-BANDWIDTH-1,BANDWIDTH-1254:     DO M1=-BANDWIDTH-1,BANDWIDTH-1
255:         I1 = MODULO(M1, 2*BANDWIDTH) + 1255:         I1 = MODULO(M1, 2*BANDWIDTH) + 1
256:         IND1 = MODULO(M1, 2*BANDWIDTH-1) + 1256:         IND1 = MODULO(M1, 2*BANDWIDTH-1) + 1
257:         MAXM = MAX(ABS(M1),ABS(M2))257:         MAXM = MAX(ABS(M1),ABS(M2))
258:         DO J=MAXM, BANDWIDTH-1258:         DO J=MAXM, BANDWIDTH-1
259:             DO K1=1,2*BANDWIDTH259:             DO K1=1,2*BANDWIDTH
260:                 OUTPUT(J+1,IND1,IND2) = OUTPUT(J+1,IND1,IND2) + WIGNERD(K1,J+1,IND1,IND2)*WEIGHTS(K1)*TEMP(I1,K1,I2)260:                 OUTPUT(J+1,IND1,IND2) = OUTPUT(J+1,IND1,IND2) + WIGNERD(K1,J+1,IND1,IND2)*WEIGHTS(K1)*TEMP(I1,K1,I2)
280: 280: 
281: ! INCLUDE "fftw3.f90"281: ! INCLUDE "fftw3.f90"
282: COMPLEX(KIND=REAL64) IN1D(2*BANDWIDTH), OUT1D(2*BANDWIDTH), TEMP(2*BANDWIDTH, 2*BANDWIDTH, 2*BANDWIDTH)282: COMPLEX(KIND=REAL64) IN1D(2*BANDWIDTH), OUT1D(2*BANDWIDTH), TEMP(2*BANDWIDTH, 2*BANDWIDTH, 2*BANDWIDTH)
283: INTEGER(KIND=INT64) PLAN, K1,K2,K3,M1,M2,I1,I2,IND1,IND2,J,MAXM283: INTEGER(KIND=INT64) PLAN, K1,K2,K3,M1,M2,I1,I2,IND1,IND2,J,MAXM
284: 284: 
285: CALL SETBANDWIDTH(BANDWIDTH)285: CALL SETBANDWIDTH(BANDWIDTH)
286: 286: 
287: CALL DFFTW_PLAN_DFT_1D(PLAN, (2*BANDWIDTH), IN1D, OUT1D, FFTW_BACKWARD, FFTW_ESTIMATE)287: CALL DFFTW_PLAN_DFT_1D(PLAN, (2*BANDWIDTH), IN1D, OUT1D, FFTW_BACKWARD, FFTW_ESTIMATE)
288: 288: 
289: ! Discrete inverse Wigner Transform289: ! Discrete inverse Wigner Transform
290: TEMP = CMPLX(0.D0,0.D0,REAL64)290: TEMP = CMPLX(0.D0,0.D0,8)
291: DO M2=-BANDWIDTH-1,BANDWIDTH-1291: DO M2=-BANDWIDTH-1,BANDWIDTH-1
292:     I2 = MODULO(M2, 2*BANDWIDTH) + 1292:     I2 = MODULO(M2, 2*BANDWIDTH) + 1
293:     IND2 = MODULO(M2, 2*BANDWIDTH-1) + 1293:     IND2 = MODULO(M2, 2*BANDWIDTH-1) + 1
294:     DO M1=-BANDWIDTH-1,BANDWIDTH-1294:     DO M1=-BANDWIDTH-1,BANDWIDTH-1
295:         I1 = MODULO(M1, 2*BANDWIDTH) + 1295:         I1 = MODULO(M1, 2*BANDWIDTH) + 1
296:         IND1 = MODULO(M1, 2*BANDWIDTH-1) + 1296:         IND1 = MODULO(M1, 2*BANDWIDTH-1) + 1
297:         MAXM = MAX(ABS(M1),ABS(M2))297:         MAXM = MAX(ABS(M1),ABS(M2))
298:         DO K1=1,2*BANDWIDTH298:         DO K1=1,2*BANDWIDTH
299:             DO J=MAXM, BANDWIDTH-1299:             DO J=MAXM, BANDWIDTH-1
300:                 TEMP(I1,K1,I2) = TEMP(I1,K1,I2) + WIGNERD(K1,J+1,IND1,IND2)*INPUT(J+1,IND1,IND2)300:                 TEMP(I1,K1,I2) = TEMP(I1,K1,I2) + WIGNERD(K1,J+1,IND1,IND2)*INPUT(J+1,IND1,IND2)


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0