grid_tools  1.13.0
pietc_s.f90
Go to the documentation of this file.
1 
10 module pietc_s
11 use pkind, only: sp,spc
12 implicit none
13 logical ,parameter:: t=.true.
14 logical ,parameter:: f=.false.
15 real(sp),parameter:: u0=0_sp
16 real(sp),parameter:: u1=1_sp
17 real(sp),parameter:: mu1=-u1
18 real(sp),parameter:: u2=2_sp
19 real(sp),parameter:: mu2=-u2
20 real(sp),parameter:: u3=3_sp
21 real(sp),parameter:: mu3=-u3
22 real(sp),parameter:: u4=4_sp
23 real(sp),parameter:: mu4=-u4
24 real(sp),parameter:: u5=5_sp
25 real(sp),parameter:: mu5=-u5
26 real(sp),parameter:: u6=6_sp
27 real(sp),parameter:: mu6=-u6
28 real(sp),parameter:: o2=u1/u2
29 real(sp),parameter:: o3=u1/u3
30 real(sp),parameter:: o4=u1/u4
31 real(sp),parameter:: o5=u1/u5
32 real(sp),parameter:: o6=u1/u6
33 real(sp),parameter:: mo2=-o2
34 real(sp),parameter:: mo3=-o3
35 real(sp),parameter:: mo4=-o4
36 real(sp),parameter:: mo5=-o5
37 real(sp),parameter:: mo6=-06
38 real(sp),parameter:: pi =3.1415926535897932384626433832795028841971693993751058209749e0_sp
39 real(sp),parameter:: pi2=6.2831853071795864769252867665590057683943387987502116419498e0_sp
40 real(sp),parameter:: pih=1.5707963267948966192313216916397514420985846996875529104874e0_sp
41 real(sp),parameter:: rpi=1.7724538509055160272981674833411451827975494561223871282138e0_sp
42 real(sp),parameter:: r2 =1.4142135623730950488016887242096980785696718753769480731766e0_sp
43 real(sp),parameter:: r3 =1.7320508075688772935274463415058723669428052538103806280558e0_sp
44 real(sp),parameter:: r5 =2.2360679774997896964091736687312762354406183596115257242708e0_sp
45 real(sp),parameter:: or2=u1/r2
46 real(sp),parameter:: or3=u1/r3
47 real(sp),parameter:: or5=u1/r5
48 real(sp),parameter:: phi=1.6180339887498948482045868343656381177203091798057628621354e0_sp
49 real(sp),parameter:: euler=0.57721566490153286060651209008240243104215933593992359880e0_sp
50 ! Degree to radians; radians to degrees:
51 real(sp),parameter:: dtor=pi/180
52 real(sp),parameter:: rtod=180/pi
53 ! Sines of all main fractions of 90 degrees (down to ninths):
54 real(sp),parameter:: s10=.173648177666930348851716626769314796000375677184069387236241e0_sp
55 real(sp),parameter:: s11=.195090322016128267848284868477022240927691617751954807754502e0_sp
56 real(sp),parameter:: s13=.222520933956314404288902564496794759466355568764544955311987e0_sp
57 real(sp),parameter:: s15=.258819045102520762348898837624048328349068901319930513814003e0_sp
58 real(sp),parameter:: s18=.309016994374947424102293417182819058860154589902881431067724e0_sp
59 real(sp),parameter:: s20=.342020143325668733044099614682259580763083367514160628465048e0_sp
60 real(sp),parameter:: s22=.382683432365089771728459984030398866761344562485627041433800e0_sp
61 real(sp),parameter:: s26=.433883739117558120475768332848358754609990727787459876444547e0_sp
62 real(sp),parameter:: s30=o2
63 real(sp),parameter:: s34=.555570233019602224742830813948532874374937190754804045924153e0_sp
64 real(sp),parameter:: s36=.587785252292473129168705954639072768597652437643145991072272e0_sp
65 real(sp),parameter:: s39=.623489801858733530525004884004239810632274730896402105365549e0_sp
66 real(sp),parameter:: s40=.642787609686539326322643409907263432907559884205681790324977e0_sp
67 real(sp),parameter:: s45=or2
68 real(sp),parameter:: s50=.766044443118978035202392650555416673935832457080395245854045e0_sp
69 real(sp),parameter:: s51=.781831482468029808708444526674057750232334518708687528980634e0_sp
70 real(sp),parameter:: s54=.809016994374947424102293417182819058860154589902881431067724e0_sp
71 real(sp),parameter:: s56=.831469612302545237078788377617905756738560811987249963446124e0_sp
72 real(sp),parameter:: s60=r3*o2
73 real(sp),parameter:: s64=.900968867902419126236102319507445051165919162131857150053562e0_sp
74 real(sp),parameter:: s68=.923879532511286756128183189396788286822416625863642486115097e0_sp
75 real(sp),parameter:: s70=.939692620785908384054109277324731469936208134264464633090286e0_sp
76 real(sp),parameter:: s72=.951056516295153572116439333379382143405698634125750222447305e0_sp
77 real(sp),parameter:: s75=.965925826289068286749743199728897367633904839008404550402343e0_sp
78 real(sp),parameter:: s77=.974927912181823607018131682993931217232785800619997437648079e0_sp
79 real(sp),parameter:: s79=.980785280403230449126182236134239036973933730893336095002916e0_sp
80 real(sp),parameter:: s80=.984807753012208059366743024589523013670643251719842418790025e0_sp
81 !... and their minuses:
82 real(sp),parameter:: ms10=-s10
83 real(sp),parameter:: ms11=-s11
84 real(sp),parameter:: ms13=-s13
85 real(sp),parameter:: ms15=-s15
86 real(sp),parameter:: ms18=-s18
87 real(sp),parameter:: ms20=-s20
88 real(sp),parameter:: ms22=-s22
89 real(sp),parameter:: ms26=-s26
90 real(sp),parameter:: ms30=-s30
91 real(sp),parameter:: ms34=-s34
92 real(sp),parameter:: ms36=-s36
93 real(sp),parameter:: ms39=-s39
94 real(sp),parameter:: ms40=-s40
95 real(sp),parameter:: ms45=-s45
96 real(sp),parameter:: ms50=-s50
97 real(sp),parameter:: ms51=-s51
98 real(sp),parameter:: ms54=-s54
99 real(sp),parameter:: ms56=-s56
100 real(sp),parameter:: ms60=-s60
101 real(sp),parameter:: ms64=-s64
102 real(sp),parameter:: ms68=-s68
103 real(sp),parameter:: ms70=-s70
104 real(sp),parameter:: ms72=-s72
105 real(sp),parameter:: ms75=-s75
106 real(sp),parameter:: ms77=-s77
107 real(sp),parameter:: ms79=-s79
108 real(sp),parameter:: ms80=-s80
109 
110 complex(spc),parameter:: c0=(u0,u0)
111 complex(spc),parameter:: c1=(u1,u0)
112 complex(spc),parameter:: mc1=-c1
113 complex(spc),parameter:: ci=(u0,u1)
114 complex(spc),parameter:: mci=-ci
115 complex(spc),parameter:: cipi=ci*pi
116 ! Main fractional rotations, as unimodualr complex numbers:
117 complex(spc),parameter:: z000=c1
118 complex(spc),parameter:: z010=( s80,s10)
119 complex(spc),parameter:: z011=( s79,s11)
120 complex(spc),parameter:: z013=( s77,s13)
121 complex(spc),parameter:: z015=( s75,s15)
122 complex(spc),parameter:: z018=( s72,s18)
123 complex(spc),parameter:: z020=( s70,s20)
124 complex(spc),parameter:: z022=( s68,s22)
125 complex(spc),parameter:: z026=( s64,s26)
126 complex(spc),parameter:: z030=( s60,s30)
127 complex(spc),parameter:: z034=( s56,s34)
128 complex(spc),parameter:: z036=( s54,s36)
129 complex(spc),parameter:: z039=( s51,s39)
130 complex(spc),parameter:: z040=( s50,s40)
131 complex(spc),parameter:: z045=( s45,s45)
132 complex(spc),parameter:: z050=( s40,s50)
133 complex(spc),parameter:: z051=( s39,s51)
134 complex(spc),parameter:: z054=( s36,s54)
135 complex(spc),parameter:: z056=( s34,s56)
136 complex(spc),parameter:: z060=( s30,s60)
137 complex(spc),parameter:: z064=( s26,s64)
138 complex(spc),parameter:: z068=( s22,s68)
139 complex(spc),parameter:: z070=( s20,s70)
140 complex(spc),parameter:: z072=( s18,s72)
141 complex(spc),parameter:: z075=( s15,s75)
142 complex(spc),parameter:: z077=( s13,s77)
143 complex(spc),parameter:: z079=( s11,s79)
144 complex(spc),parameter:: z080=( s10,s80)
145 complex(spc),parameter:: z090=ci
146 complex(spc),parameter:: z100=(ms10,s80)
147 complex(spc),parameter:: z101=(ms11,s79)
148 complex(spc),parameter:: z103=(ms13,s77)
149 complex(spc),parameter:: z105=(ms15,s75)
150 complex(spc),parameter:: z108=(ms18,s72)
151 complex(spc),parameter:: z110=(ms20,s70)
152 complex(spc),parameter:: z112=(ms22,s68)
153 complex(spc),parameter:: z116=(ms26,s64)
154 complex(spc),parameter:: z120=(ms30,s60)
155 complex(spc),parameter:: z124=(ms34,s56)
156 complex(spc),parameter:: z126=(ms36,s54)
157 complex(spc),parameter:: z129=(ms39,s51)
158 complex(spc),parameter:: z130=(ms40,s50)
159 complex(spc),parameter:: z135=(ms45,s45)
160 complex(spc),parameter:: z140=(ms50,s40)
161 complex(spc),parameter:: z141=(ms51,s39)
162 complex(spc),parameter:: z144=(ms54,s36)
163 complex(spc),parameter:: z146=(ms56,s34)
164 complex(spc),parameter:: z150=(ms60,s30)
165 complex(spc),parameter:: z154=(ms64,s26)
166 complex(spc),parameter:: z158=(ms68,s22)
167 complex(spc),parameter:: z160=(ms70,s20)
168 complex(spc),parameter:: z162=(ms72,s18)
169 complex(spc),parameter:: z165=(ms75,s15)
170 complex(spc),parameter:: z167=(ms77,s13)
171 complex(spc),parameter:: z169=(ms79,s11)
172 complex(spc),parameter:: z170=(ms80,s10)
173 complex(spc),parameter:: z180=-z000
174 complex(spc),parameter:: z190=-z010
175 complex(spc),parameter:: z191=-z011
176 complex(spc),parameter:: z193=-z013
177 complex(spc),parameter:: z195=-z015
178 complex(spc),parameter:: z198=-z018
179 complex(spc),parameter:: z200=-z020
180 complex(spc),parameter:: z202=-z022
181 complex(spc),parameter:: z206=-z026
182 complex(spc),parameter:: z210=-z030
183 complex(spc),parameter:: z214=-z034
184 complex(spc),parameter:: z216=-z036
185 complex(spc),parameter:: z219=-z039
186 complex(spc),parameter:: z220=-z040
187 complex(spc),parameter:: z225=-z045
188 complex(spc),parameter:: z230=-z050
189 complex(spc),parameter:: z231=-z051
190 complex(spc),parameter:: z234=-z054
191 complex(spc),parameter:: z236=-z056
192 complex(spc),parameter:: z240=-z060
193 complex(spc),parameter:: z244=-z064
194 complex(spc),parameter:: z248=-z068
195 complex(spc),parameter:: z250=-z070
196 complex(spc),parameter:: z252=-z072
197 complex(spc),parameter:: z255=-z075
198 complex(spc),parameter:: z257=-z077
199 complex(spc),parameter:: z259=-z079
200 complex(spc),parameter:: z260=-z080
201 complex(spc),parameter:: z270=-z090
202 complex(spc),parameter:: z280=-z100
203 complex(spc),parameter:: z281=-z101
204 complex(spc),parameter:: z283=-z103
205 complex(spc),parameter:: z285=-z105
206 complex(spc),parameter:: z288=-z108
207 complex(spc),parameter:: z290=-z110
208 complex(spc),parameter:: z292=-z112
209 complex(spc),parameter:: z296=-z116
210 complex(spc),parameter:: z300=-z120
211 complex(spc),parameter:: z304=-z124
212 complex(spc),parameter:: z306=-z126
213 complex(spc),parameter:: z309=-z129
214 complex(spc),parameter:: z310=-z130
215 complex(spc),parameter:: z315=-z135
216 complex(spc),parameter:: z320=-z140
217 complex(spc),parameter:: z321=-z141
218 complex(spc),parameter:: z324=-z144
219 complex(spc),parameter:: z326=-z146
220 complex(spc),parameter:: z330=-z150
221 complex(spc),parameter:: z334=-z154
222 complex(spc),parameter:: z338=-z158
223 complex(spc),parameter:: z340=-z160
224 complex(spc),parameter:: z342=-z162
225 complex(spc),parameter:: z345=-z165
226 complex(spc),parameter:: z347=-z167
227 complex(spc),parameter:: z349=-z169
228 complex(spc),parameter:: z350=-z170
229 end module pietc_s
integer, parameter sp
Single precision real kind.
Definition: pkind.f90:10
Standard integer, real, and complex single and double precision kinds.
Definition: pkind.f90:7
real(dp), parameter pih
pi*half
Definition: pietc.f90:44
logical, parameter f
for pain-relief in logical ops
Definition: pietc.f90:18
real(dp), parameter u0
zero
Definition: pietc.f90:19
real(dp), parameter u2
two
Definition: pietc.f90:22
logical, parameter t
for pain-relief in logical ops
Definition: pietc.f90:17
real(dp), parameter dtor
Degrees to radians.
Definition: pietc.f90:54
real(dp), parameter pi2
Pi*2.
Definition: pietc.f90:43
real(dp), parameter rtod
radians to degrees
Definition: pietc.f90:55
real(dp), parameter u1
one
Definition: pietc.f90:20
integer, parameter spc
Single precision real kind.
Definition: pkind.f90:12
real(dp), parameter o2
half
Definition: pietc.f90:32