TreeMig Code
Loading...
Searching...
No Matches
GFT_common.f90
Go to the documentation of this file.
1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*- Mode: F90 -*- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2!! GFT_common.f90 --- GFT common objects
3!!
4!! Auteur : Jalel Chergui (CNRS/IDRIS) <Jalel.Chergui@idris.fr>
5!! Créé le : Tue Feb 19 10:02:32 2002
6!! Dern. mod. par : Jalel Chergui (CNRS/IDRIS) <Jalel.Chergui@idris.fr>
7!! Dern. mod. le : Thu Jul 4 13:13:46 2002
8!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
9!
10! Permission is granted to copy and distribute this file or modified
11! versions of this file for no fee, provided the copyright notice and
12! this permission notice are preserved on all copies.
13! Copyright (C) Februry 2002, CNRS/IDRIS, Jalel.Chergui@idris.fr.
14!
16 IMPLICIT NONE
17
18 !... Floating point precisions
19 INTEGER, PARAMETER :: gft_r4 = selected_real_kind(6)
20 INTEGER, PARAMETER :: gft_r8 = selected_real_kind(12)
21 INTEGER, PARAMETER :: gft_r16 = selected_real_kind(24)
22
23 !... Recommended Default Floating Point Precision
24 INTEGER, PARAMETER :: gft_prec=gft_r8
25
26 !... Default copyright
27 LOGICAL :: copyright=.true.
28
29 !... Derived TYPE for 1D, 2D and 3D Complex-Complex FFT
30 TYPE gft_cc
31 INTEGER :: nx
32 INTEGER :: ny
33 INTEGER :: nz
34 INTEGER :: bf=1
35 INTEGER :: isign=0
36 REAL(kind=gft_prec) :: scale
37 INTEGER :: ldx1
38 INTEGER :: ldx2
39 INTEGER :: ldy1
40 INTEGER :: ldy2
41 INTEGER :: tablesize
42 INTEGER :: worksize
43 LOGICAL :: init=.false.
44 REAL(kind=gft_prec), POINTER, DIMENSION(:) :: work
45 REAL(kind=gft_prec), POINTER, DIMENSION(:) :: table
46 END TYPE gft_cc
47
48 !... Derived TYPE for 1D, 2D and 3D Real-Complex and Complex-Real FFT
50 INTEGER :: nx
51 INTEGER :: ny
52 INTEGER :: nz
53 INTEGER :: bf=1
54 INTEGER :: isign=0
55 REAL(kind=gft_prec) :: scale
56 INTEGER :: ldx1
57 INTEGER :: ldx2
58 INTEGER :: ldy1
59 INTEGER :: ldy2
60 LOGICAL :: even_x
61 LOGICAL :: even_y
62 LOGICAL :: even_z
63 LOGICAL :: init=.false.
64 INTEGER :: tablesize
65 INTEGER :: worksize
66 REAL(kind=gft_prec), POINTER, DIMENSION(:) :: work
67 REAL(kind=gft_prec), POINTER, DIMENSION(:) :: table
68 END TYPE gft_rcr
69
70
71 !... Derived TYPE for Multiple 1D Complex-Complex FFT
73 INTEGER :: nx
74 INTEGER :: ny
75 INTEGER :: bf=1
76 INTEGER :: isign=0
77 REAL(kind=gft_prec) :: scale
78 INTEGER :: ldx1
79 INTEGER :: ldy1
80 LOGICAL :: init=.false.
81 INTEGER :: tablesize
82 INTEGER :: worksize
83 REAL(kind=gft_prec), POINTER, DIMENSION(:) :: work
84 REAL(kind=gft_prec), POINTER, DIMENSION(:) :: table
85 END TYPE gft_mcc
86
87 !... Derived TYPE for Multiple 1D Real-Complex and Complex-Real FFT
89 INTEGER :: nx
90 INTEGER :: ny
91 INTEGER :: bf=1
92 INTEGER :: isign=0
93 REAL(kind=gft_prec) :: scale
94 INTEGER :: ldx1
95 INTEGER :: ldy1
96 LOGICAL :: even_x
97 LOGICAL :: even_y
98 LOGICAL :: init=.false.
99 INTEGER :: tablesize
100 INTEGER :: worksize
101 REAL(kind=gft_prec), POINTER, DIMENSION(:) :: work
102 REAL(kind=gft_prec), POINTER, DIMENSION(:) :: table
103 END TYPE gft_mrcr
104
105 CONTAINS
106
107 SUBROUTINE gft_error( Message )
108 IMPLICIT NONE
109
110 !... Input dummy arguments
111 CHARACTER(LEN=*) :: Message
112
113 print *,message
114 stop
115 END SUBROUTINE gft_error
116
117 SUBROUTINE gft_warning( Message )
118 IMPLICIT NONE
119
120 !... Input dummy arguments
121 CHARACTER(LEN=*) :: Message
122
123 print *,message
124 END SUBROUTINE gft_warning
125
126 SUBROUTINE gft_copyright
127 IMPLICIT NONE
128
129 IF (copyright) THEN
130 copyright = .false.
131 print *," "
132 print '(10X,A)',"*** GFT (Generic Fourier Transform) release 1.0.1. ***"
133 print '(10X,A)',"*** Authors: Jalel Chergui & Jean-Marie Teuler ***"
134 print '(10X,A)',"*** (C) March 2002, CNRS/IDRIS Orsay FRANCE. ***"
135 print *," "
136 END IF
137 END SUBROUTINE gft_copyright
138END MODULE gft_common
subroutine gft_copyright
integer, parameter gft_r4
subroutine gft_error(message)
integer, parameter gft_r8
integer, parameter gft_r16
subroutine gft_warning(message)
integer, parameter gft_prec
logical copyright