source: PSPA/madxPSPA/libs/ptc/src/l_complex_taylor.f90 @ 430

Last change on this file since 430 was 430, checked in by touze, 11 years ago

import madx-5.01.00

File size: 92.4 KB
Line 
1!The Full Polymorphic Package
2!Copyright (C) Etienne Forest
3
4module complex_taylor
5  use tpsalie_analysis
6  implicit none
7  public
8  private mul,cscmul,cmulsc,dscmul,dmulsc,mulsc,scmul,imulsc,iscmul
9  private ctmul, cmult,ctadd,caddt,ctsub,csubt,ctdiv,cdivt
10  private add,cscadd,dscadd,caddsc,daddsc,unaryADD,addsc,scadd,iaddsc,iscadd
11  private tadd,addt,tmul,mult,tsub,subt,tdiv,divt
12  private inv,div,dscdiv,cscdiv,cdivsc,ddivsc,divsc,scdiv,idivsc,iscdiv
13  private subs,cscsub,dscsub,csubsc,dsubsc,iscsub,isubsc,scsub,subsc,unarySUB
14  private EQUAL,cequaldacon,Dequaldacon,equaldacon,Iequaldacon,ctEQUAL,tcEQUAL
15  private pow,powr,POWR8  !,DAABSEQUAL,AABSEQUAL 2002.10.17
16  private alloccomplex,A_OPT,K_OPT   !,printcomplex ,killcomplex
17  private logtpsat,exptpsat,abstpsat,dcost,dsint,datant,tant,dasint,dacost
18  private dcosht,dsinht,dtanht,dsqrtt
19  private getdiff,getdATRA,GETORDER,CUTORDER,getchar ,dputchar,dputint
20  private set_in_complex   !, assc  !check,
21  private dimagt,drealt,dcmplxt,CEQUAL,DEQUAL,REQUAL
22  private GETCHARnd2,GETintnd2,GETint,getcharnd2s,GETintnd2s,GETintk
23  private CFUC,CFURES,varco,varco1
24  !  completing tpsa.f90
25  private datantt,dasintt,dacostt,full_abstpsat
26  integer,private::NO,ND,ND2,NP,NDPT,NV           !,lastmaster 2002.12.13
27  logical(lp),private::old
28  logical :: debug_flag =.false.
29  logical :: debug_acos=.false.
30
31  INTERFACE assignment (=)
32     MODULE PROCEDURE EQUAL
33     MODULE PROCEDURE ctEQUAL
34     MODULE PROCEDURE tcEQUAL
35     MODULE PROCEDURE CEQUAL
36     MODULE PROCEDURE DEQUAL
37     MODULE PROCEDURE REQUAL
38     !     MODULE PROCEDURE DAABSEQUAL  ! remove 2002.10.17
39     !     MODULE PROCEDURE AABSEQUAL    ! remove 2002.10.17
40     MODULE PROCEDURE cequaldacon
41     MODULE PROCEDURE Dequaldacon
42     MODULE PROCEDURE equaldacon
43     MODULE PROCEDURE Iequaldacon
44  end  INTERFACE
45
46  !@     <table border="4" cellspacing="1" bordercolor="#000000" id="AutoNumber1" width="684" height="445">
47  !@       <tr>
48  !@         <td width="78" height="84" align="center" rowspan="2" colspan="2">
49  !@         <span style="text-transform: uppercase">
50  !@         <font face="Times New Roman" size="4"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +</b>&nbsp;&nbsp;&nbsp; </font></span></td>
51  !@         <td width="193" height="40" align="center" colspan="2">
52  !@         <font size="2">COMPLEX</font></td>
53  !@         <td width="288" height="40" align="center" colspan="3">
54  !@         <font size="2">REAL</font></td>
55  !@         <td width="95" height="82" align="center" rowspan="2">
56  !@         <span style="text-transform: uppercase">
57  !@         <font face="Times New Roman" size="2">Integer</font></span></td>
58  !@       </tr>
59  !@       <tr>
60  !@         <td width="88" height="39" align="center">
61  !@         <p>
62  !@         <span style="text-transform: uppercase">
63  !@         <font face="Times New Roman" size="2">COMPLEX TAYLOR</font></span></p>
64  !@         </td>
65  !@         <td width="105" height="42" align="center">
66  !@         <span style="text-transform: uppercase">
67  !@         <font face="Times New Roman" size="2">COMPLEX(dp)</font></span></td>
68  !@         <td width="88" height="39" align="center">
69  !@         <span style="text-transform: uppercase">
70  !@         <font face="Times New Roman" size="2">TAYLOR</font></span></td>
71  !@         <td width="101" height="39" align="center">
72  !@         <span style="text-transform: uppercase">
73  !@         <font face="Times New Roman" size="2">rEAL(DP)</font></span></td>
74  !@         <td width="100" height="39" align="center">
75  !@         <span style="text-transform: uppercase">
76  !@         <font face="Times New Roman" size="2">REAL(SP)</font></span></td>
77  !@       </tr>
78  !@       <tr>
79  !@         <td width="39" height="109" align="center" rowspan="2">
80  !@         <font size="2">COMPLEX</font></td>
81  !@         <td width="39" height="54" align="center">
82  !@         <span style="text-transform: uppercase">
83  !@         <font face="Times New Roman" size="2">COMPLEX TAYLOR</font></span></td>
84  !@         <td width="84" height="53" align="center">
85  !@         <font size="2">
86  !@         <a href="l_complex_taylor.htm#ADD" style="text-decoration: none; font-weight: 700">ADD</a></font></td>
87  !@         <td width="105" height="53" align="center">
88  !@         <font size="2">
89  !@         <a href="l_complex_taylor.htm#CADDSC" style="text-decoration: none; font-weight: 700">CADDSC</a></font></td>
90  !@         <td width="92" height="53" align="center">
91  !@         <font size="2">
92  !@         <a href="l_complex_taylor.htm#ADDT" style="text-decoration: none; font-weight: 700">
93  !@         ADDT</a></font></td>
94  !@         <td width="102" height="53" align="center">
95  !@         <font size="2">
96  !@         <a href="l_complex_taylor.htm#DADDSC" style="text-decoration: none; font-weight: 700">DADDSC</a></font></td>
97  !@         <td width="99" height="53" align="center">
98  !@         <font size="2">
99  !@         <a href="l_complex_taylor.htm#ADDSC" style="text-decoration: none; font-weight: 700">ADDSC</a></font></td>
100  !@         <td width="94" height="53" align="center"><font size="2">
101  !@         <a href="l_complex_taylor.htm#IADDSC" style="text-decoration: none; font-weight: 700">
102  !@         IADDSC</a></font></td>
103  !@       </tr>
104  !@       <tr>
105  !@         <td width="39" height="55" align="center">
106  !@         <span style="text-transform: uppercase">
107  !@         <font face="Times New Roman" size="2">COMPLEX(DP)</font></span></td>
108  !@         <td width="84" height="55" align="center">
109  !@         <font size="2">
110  !@         <a href="l_complex_taylor.htm#CSCADD" style="text-decoration: none; font-weight: 700">CSCADD</a></font></td>
111  !@         <td width="105" height="55" align="center">
112  !@         <b>F90</b></td>
113  !@         <td width="92" height="55" align="center">
114  !@         <font size="2">
115  !@         <a href="l_complex_taylor.htm#CADDT" style="text-decoration: none; font-weight: 700">
116  !@         CADDT</a></font></td>
117  !@         <td width="102" height="55" align="center">
118  !@         <b>F90</b></td>
119  !@         <td width="99" height="55" align="center">
120  !@         <b>F90</b></td>
121  !@         <td width="94" height="55" align="center"><b>F90</b></td>
122  !@       </tr>
123  !@       <tr>
124  !@         <td width="39" height="171" align="center" rowspan="3">
125  !@         <font size="2">REAL</font></td>
126  !@         <td width="39" height="54" align="center">
127  !@         <span style="text-transform: uppercase">
128  !@         <font face="Times New Roman" size="2">TAYLOR</font></span></td>
129  !@         <td width="84" height="50" align="center">
130  !@         <font size="2">
131  !@         <a href="l_complex_taylor.htm#TADD" style="text-decoration: none; font-weight: 700">TADD</a></font></td>
132  !@         <td width="105" height="50" align="center">
133  !@         <font size="2">
134  !@         <a href="l_complex_taylor.htm#CTADD" style="text-decoration: none; font-weight: 700">CTADD</a></font></td>
135  !@         <td width="92" height="50" align="center">
136  !@            <span style="text-transform: uppercase; ">
137  !@            <font face="Times New Roman" size="2">
138  !@            <a href="i_tpsa.htm#ADD" style="text-decoration: none; font-style:italic">
139  !@         <font color="#FF0000">add</font></a></font></span></td>
140  !@            <td width="77" height="20" align="center">
141  !@            <span style="text-transform: uppercase; ">
142  !@            <font face="Times New Roman" size="2">
143  !@            <a href="i_tpsa.htm#DADDSC" style="text-decoration: none; font-style:italic">
144  !@            <font color="#FF0000">daddsc</font></a></font></span></td>
145  !@            <td width="78" height="20" align="center">
146  !@            <font size="2" face="Times New Roman">
147  !@            <a href="i_tpsa.htm#ADDSC" style="text-decoration: none; font-style:italic">
148  !@            <font color="#FF0000">ADDSC</font></a></font></td>
149  !@            <td width="56" height="20" align="center">
150  !@            <font size="2" face="Times New Roman">
151  !@            <font color="#FF0000">&nbsp;&nbsp; </font>
152  !@            <a href="i_tpsa.htm#IADDSC" style="text-decoration: none; font-style:italic">
153  !@            <font color="#FF0000">IADDSC</font></a></font></td>
154  !@       </tr>
155  !@       <tr>
156  !@         <td width="39" height="56" align="center">
157  !@         <span style="text-transform: uppercase">
158  !@         <font face="Times New Roman" size="2">REAL(DP)</font></span></td>
159  !@         <td width="84" height="55" align="center">
160  !@         <font size="2">
161  !@         <a href="l_complex_taylor.htm#DSCADD" style="text-decoration: none; font-weight: 700">DSCADD</a></font></td>
162  !@         <td width="105" height="55" align="center">
163  !@         <b>F90</b></td>
164  !@            <td width="77" height="20" align="center">
165  !@            <span style="text-transform: uppercase; ">
166  !@            <font face="Times New Roman" size="2">
167  !@            <a href="i_tpsa.htm#DSCADD" style="text-decoration: none; font-style:italic">
168  !@            <font color="#FF0000">dscadd</font></a></font></span></td>
169  !@         <td width="102" height="55" align="center"><b>F90</b></td>
170  !@         <td width="99" height="55" align="center"><b>F90</b></td>
171  !@         <td width="94" height="55" align="center"><b>F90</b></td>
172  !@       </tr>
173  !@       <tr>
174  !@         <td width="39" height="56" align="center">
175  !@         <span style="text-transform: uppercase">
176  !@         <font face="Times New Roman" size="2">REAL(SP)</font></span></td>
177  !@         <td width="84" height="52" align="center">
178  !@         <font size="2">
179  !@         <a href="l_complex_taylor.htm#SCADD" style="text-decoration: none; font-weight: 700">
180  !@         SCADD</a></font></td>
181  !@         <td width="105" height="52" align="center">
182  !@         <b>F90</b></td>
183  !@            <td width="77" height="20" align="center">
184  !@            <font size="2" face="Times New Roman">
185  !@            <a href="i_tpsa.htm#SCADD" style="text-decoration: none; font-style:italic">
186  !@            <font color="#FF0000">SCADD</font></a></font></td>
187  !@         <td width="102" height="52" align="center"><b>F90</b></td>
188  !@         <td width="99" height="52" align="center"><b>F90</b></td>
189  !@         <td width="94" height="52" align="center"><b>F90</b></td>
190  !@       </tr>
191  !@       <tr>
192  !@         <td width="78" height="56" align="center" colspan="2">
193  !@         <span style="text-transform: uppercase">
194  !@         <font face="Times New Roman" size="2">Integer</font></span></td>
195  !@         <td width="84" height="61" align="center"><font size="2">
196  !@         <a href="l_complex_taylor.htm#ISCADD" style="text-decoration: none; font-weight: 700">ISCADD</a></font></td>
197  !@         <td width="105" height="61" align="center"><b>F90</b></td>
198  !@            <td width="77" height="20" align="center">
199  !@            <font size="2" face="Times New Roman">
200  !@            <a href="i_tpsa.htm#ISCADD" style="text-decoration: none; font-style:italic">
201  !@            <font color="#FF0000">ISCADD</font></a></font></td>
202  !@         <td width="102" height="61" align="center"><b>F90</b></td>
203  !@         <td width="99" height="61" align="center"><b>F90</b></td>
204  !@         <td width="94" height="61" align="center"><b>F90</b></td>
205  !@       </tr>
206  !@     </table>
207  !@
208
209  INTERFACE OPERATOR (+)
210     MODULE PROCEDURE add
211     MODULE PROCEDURE tadd
212     MODULE PROCEDURE addt
213     MODULE PROCEDURE cscadd
214     MODULE PROCEDURE dscadd
215     MODULE PROCEDURE ctadd
216     MODULE PROCEDURE caddt
217     MODULE PROCEDURE caddsc
218     MODULE PROCEDURE daddsc
219     MODULE PROCEDURE unaryADD
220     MODULE PROCEDURE addsc
221     MODULE PROCEDURE scadd
222     MODULE PROCEDURE iaddsc
223     MODULE PROCEDURE iscadd
224  END INTERFACE
225
226  !@     <table border="4" cellspacing="1" bordercolor="#000000" id="AutoNumber2" width="684" height="445">
227  !@       <tr>
228  !@         <td width="78" height="84" align="center" rowspan="2" colspan="2">
229  !@         <span style="text-transform: uppercase">
230  !@         <font face="Times New Roman" size="4"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
231  !@         -</b>&nbsp;&nbsp; </font></span></td>
232  !@         <td width="193" height="40" align="center" colspan="2">
233  !@         <font size="2">COMPLEX</font></td>
234  !@         <td width="288" height="40" align="center" colspan="3">
235  !@         <font size="2">REAL</font></td>
236  !@         <td width="95" height="82" align="center" rowspan="2">
237  !@         <span style="text-transform: uppercase">
238  !@         <font face="Times New Roman" size="2">Integer</font></span></td>
239  !@       </tr>
240  !@       <tr>
241  !@         <td width="88" height="39" align="center">
242  !@         <p>
243  !@         <span style="text-transform: uppercase">
244  !@         <font face="Times New Roman" size="2">COMPLEX TAYLOR</font></span></p>
245  !@         </td>
246  !@         <td width="105" height="42" align="center">
247  !@         <span style="text-transform: uppercase">
248  !@         <font face="Times New Roman" size="2">COMPLEX(dp)</font></span></td>
249  !@         <td width="88" height="39" align="center">
250  !@         <span style="text-transform: uppercase">
251  !@         <font face="Times New Roman" size="2">TAYLOR</font></span></td>
252  !@         <td width="101" height="39" align="center">
253  !@         <span style="text-transform: uppercase">
254  !@         <font face="Times New Roman" size="2">rEAL(DP)</font></span></td>
255  !@         <td width="100" height="39" align="center">
256  !@         <span style="text-transform: uppercase">
257  !@         <font face="Times New Roman" size="2">REAL(SP)</font></span></td>
258  !@       </tr>
259  !@       <tr>
260  !@         <td width="39" height="109" align="center" rowspan="2">
261  !@         <font size="2">COMPLEX</font></td>
262  !@         <td width="39" height="54" align="center">
263  !@         <span style="text-transform: uppercase">
264  !@         <font face="Times New Roman" size="2">COMPLEX TAYLOR</font></span></td>
265  !@         <td width="84" height="53" align="center">
266  !@         <font size="2">
267  !@         <a style="text-decoration: none; font-weight: 700" href="l_complex_taylor.htm#SUBS">SUBS</a></font></td>
268  !@         <td width="105" height="53" align="center">
269  !@         <font size="2">
270  !@         <a style="text-decoration: none; font-weight: 700" href="l_complex_taylor.htm#CSUBSC">CSUBSC</a></font></td>
271  !@         <td width="92" height="53" align="center">
272  !@         <font size="2">
273  !@         <a style="text-decoration: none; font-weight: 700" href="l_complex_taylor.htm#SUBT">SUBT</a></font></td>
274  !@         <td width="102" height="53" align="center">
275  !@         <font size="2">
276  !@         <a href="l_complex_taylor.htm#DSUBSC" style="text-decoration: none; font-weight:700">DSUBSC</a></font></td>
277  !@         <td width="99" height="53" align="center">
278  !@         <font size="2">
279  !@         <a href="l_complex_taylor.htm#SUBSC" style="text-decoration: none; font-weight:700">SUBSC</a></font></td>
280  !@         <td width="94" height="53" align="center"><font size="2">
281  !@         <a href="l_complex_taylor.htm#ISUBSC" style="text-decoration: none; font-weight:700">ISUBSC</a></font></td>
282  !@       </tr>
283  !@       <tr>
284  !@         <td width="39" height="55" align="center">
285  !@         <span style="text-transform: uppercase">
286  !@         <font face="Times New Roman" size="2">COMPLEX(DP)</font></span></td>
287  !@         <td width="84" height="55" align="center">
288  !@          <ahref="l_complex_taylor.htm#CSCSUB" style="text-decoration: none; font-weight:700">
289  !@          <font size="2">
290  !@         <a href="l_complex_taylor.htm#CSCSUB" style="text-decoration: none; font-weight: 700">CSCSUB</a></font></td>
291  !@         <td width="105" height="55" align="center">
292  !@         <b>F90</b></td>
293  !@         <td width="92" height="55" align="center">
294  !@         <ahref="l_complex_taylor.htm#CSUBT" style="text-decoration: none">
295  !@         <font size="2">
296  !@         <a href="l_complex_taylor.htm#CSUBT" style="text-decoration: none"><b>CSUBT</b></a></a></font></td>
297  !@         <td width="102" height="55" align="center">
298  !@         <b>F90</b></td>
299  !@         <td width="99" height="55" align="center">
300  !@         <b>F90</b></td>
301  !@         <td width="94" height="55" align="center"><b>F90</b></td>
302  !@       </tr>
303  !@       <tr>
304  !@         <td width="39" height="171" align="center" rowspan="3">
305  !@         <font size="2">REAL</font></td>
306  !@         <td width="39" height="54" align="center">
307  !@         <span style="text-transform: uppercase">
308  !@         <font face="Times New Roman" size="2">TAYLOR</font></span></td>
309  !@         <td width="84" height="50" align="center">
310  !@         <font size="2">
311  !@         <a href="l_complex_taylor.htm#TSUB" style="text-decoration: none; font-weight:700">TSUB</a></font></td>
312  !@         <td width="105" height="50" align="center">
313  !@         <font size="2">
314  !@         <a style="text-decoration: none; font-weight: 700" href="l_complex_taylor.htm#CTSUB">
315  !@         CTSUB</a></font></td>
316  !@         <td width="92" height="50" align="center">
317  !@            <span style="text-transform: uppercase">
318  !@            <font face="Times New Roman" size="2">
319  !@            <a style="text-decoration: none; font-style:italic" href="i_tpsa.htm#SUBS">
320  !@         <font color="#FF0000">SUBS</font></a></font></span></td>
321  !@            <td width="77" height="20" align="center">
322  !@             <span style="text-transform: uppercase">
323  !@             <font face="Times New Roman" size="2">
324  !@            <a style="text-decoration: none; font-style:italic" href="i_tpsa.htm#DSUBSC">
325  !@            <font color="#FF0000">dSUBsc</font></a></font></span></td>
326  !@            <td width="78" height="20" align="center">
327  !@            <font size="2" face="Times New Roman">
328  !@            <a style="text-decoration: none; font-style:italic" href="i_tpsa.htm#SUBSC">
329  !@             <font color="#FF0000">SUBSC</font></a></font></td>
330  !@            <td width="56" height="20" align="center">
331  !@             <font size="2" face="Times New Roman">
332  !@            <font color="#FF0000">&nbsp;&nbsp;
333  !@            <a style="text-decoration: none; font-style:italic" href="i_tpsa.htm#ISUBSC">&nbsp;</a></font><a style="text-decoration: none; font-style:italic" href="i_tpsa.htm#ISUBSC"><font color="
334  !@       </tr>
335  !@       <tr>
336  !@         <td width="39" height="56" align="center">
337  !@         <span style="text-transform: uppercase">
338  !@         <font face="Times New Roman" size="2">REAL(DP)</font></span></td>
339  !@         <td width="84" height="55" align="center">
340  !@         <ahref="l_complex_taylor.htm#DSCSUB" style="text-decoration: none; font-weight:700">
341  !@         <font size="2">
342  !@         <a href="l_complex_taylor.htm#DSCSUB" style="text-decoration: none; font-weight: 700">DSCSUB</a></a></font></td>
343  !@         <td width="105" height="55" align="center">
344  !@         <b>F90</b></td>
345  !@            <td width="77" height="20" align="center">
346  !@            <span style="text-transform: uppercase">
347  !@            <font face="Times New Roman" size="2">
348  !@            <a style="text-decoration: none; font-style:italic" href="i_tpsa.htm#DSCSUB">
349  !@            <font color="#FF0000">dscSUB</font></a></font></span></td>
350  !@         <td width="102" height="55" align="center"><b>F90</b></td>
351  !@         <td width="99" height="55" align="center"><b>F90</b></td>
352  !@         <td width="94" height="55" align="center"><b>F90</b></td>
353  !@       </tr>
354  !@       <tr>
355  !@         <td width="39" height="56" align="center">
356  !@         <span style="text-transform: uppercase">
357  !@         <font face="Times New Roman" size="2">REAL(SP)</font></span></td>
358  !@         <td width="84" height="52" align="center">
359  !@         <ahref="l_complex_taylor.htm#SCSUB" style="text-decoration: none; font-weight:700">
360  !@         <font size="2">
361  !@         <a href="l_complex_taylor.htm#SCSUB" style="text-decoration: none; font-weight: 700">SCSUB</a></a></font></td>
362  !@         <td width="105" height="52" align="center">
363  !@         <b>F90</b></td>
364  !@            <td width="77" height="20" align="center">
365  !@            <font size="2" face="Times New Roman">
366  !@            <a style="text-decoration: none; font-style:italic" href="i_tpsa.htm#SCSUB">
367  !@            <font color="#FF0000">SCSUB</font></a></font></td>
368  !@         <td width="102" height="52" align="center"><b>F90</b></td>
369  !@         <td width="99" height="52" align="center"><b>F90</b></td>
370  !@         <td width="94" height="52" align="center"><b>F90</b></td>
371  !@       </tr>
372  !@       <tr>
373  !@         <td width="78" height="56" align="center" colspan="2">
374  !@         <span style="text-transform: uppercase">
375  !@         <font face="Times New Roman" size="2">Integer</font></span></td>
376  !@         <td width="84" height="61" align="center">
377  !@         <ahref="l_complex_taylor.htm#ISCSUB" style="text-decoration: none; font-weight:700"><font size="2">
378  !@          <a href="l_complex_taylor.htm#ISCSUB" style="text-decoration: none; font-weight: 700">ISCSUB</a></font></td>
379  !@         <td width="105" height="61" align="center"><b>F90</b></td>
380  !@            <td width="77" height="20" align="center">
381  !@            <font size="2" face="Times New Roman">
382  !@            <a href="i_tpsa.htm#ISCSUB" style="text-decoration: none; font-style:italic">
383  !@            <font color="#FF0000">ISCSUB</font></a></font></td>
384  !@         <td width="102" height="61" align="center"><b>F90</b></td>
385  !@         <td width="99" height="61" align="center"><b>F90</b></td>
386  !@         <td width="94" height="61" align="center"><b>F90</b></td>
387  !@       </tr>
388  !@     </table>
389
390
391  INTERFACE OPERATOR (-)
392     MODULE PROCEDURE unarySUB
393     MODULE PROCEDURE subs
394     MODULE PROCEDURE ctsub
395     MODULE PROCEDURE csubt
396     MODULE PROCEDURE tsub
397     MODULE PROCEDURE subt
398     MODULE PROCEDURE cscsub
399     MODULE PROCEDURE dscsub
400     MODULE PROCEDURE csubsc
401     MODULE PROCEDURE dsubsc
402     MODULE PROCEDURE subsc
403     MODULE PROCEDURE scsub
404     MODULE PROCEDURE isubsc
405     MODULE PROCEDURE iscsub
406  END INTERFACE
407
408  !@     <table border="4" cellspacing="1" bordercolor="#000000" id="AutoNumber3" width="684" height="445">
409  !@       <tr>
410  !@         <td width="78" height="84" align="center" rowspan="2" colspan="2">
411  !@         <span style="text-transform: uppercase">
412  !@         <font face="Times New Roman" size="4"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </b>
413  !@         *&nbsp;&nbsp; </font></span></td>
414  !@         <td width="193" height="40" align="center" colspan="2">
415  !@         <font size="2">COMPLEX</font></td>
416  !@         <td width="288" height="40" align="center" colspan="3">
417  !@         <font size="2">REAL</font></td>
418  !@         <td width="95" height="82" align="center" rowspan="2">
419  !@         <span style="text-transform: uppercase">
420  !@         <font face="Times New Roman" size="2">Integer</font></span></td>
421  !@       </tr>
422  !@       <tr>
423  !@         <td width="88" height="39" align="center">
424  !@         <p>
425  !@         <span style="text-transform: uppercase">
426  !@         <font face="Times New Roman" size="2">COMPLEX TAYLOR</font></span></p>
427  !@         </td>
428  !@         <td width="105" height="42" align="center">
429  !@         <span style="text-transform: uppercase">
430  !@         <font face="Times New Roman" size="2">COMPLEX(dp)</font></span></td>
431  !@         <td width="88" height="39" align="center">
432  !@         <span style="text-transform: uppercase">
433  !@         <font face="Times New Roman" size="2">TAYLOR</font></span></td>
434  !@         <td width="101" height="39" align="center">
435  !@         <span style="text-transform: uppercase">
436  !@         <font face="Times New Roman" size="2">rEAL(DP)</font></span></td>
437  !@         <td width="100" height="39" align="center">
438  !@         <span style="text-transform: uppercase">
439  !@         <font face="Times New Roman" size="2">REAL(SP)</font></span></td>
440  !@       </tr>
441  !@       <tr>
442  !@         <td width="39" height="109" align="center" rowspan="2">
443  !@         <font size="2">COMPLEX</font></td>
444  !@         <td width="39" height="54" align="center">
445  !@         <span style="text-transform: uppercase">
446  !@         <font face="Times New Roman" size="2">COMPLEX TAYLOR</font></span></td>
447  !@         <td width="84" height="53" align="center">
448  !@         <b>
449  !@         <font size="2"><a href="l_complex_taylor.htm#MUL" style="text-decoration: none">MUL</a></font></b></td>
450  !@         <td width="105" height="53" align="center">
451  !@         <b>
452  !@         <font size="2"><a href="l_complex_taylor.htm#CMULSC" style="text-decoration: none">CMULSC</a></font></b></td>
453  !@         <td width="92" height="53" align="center">
454  !@         <b>
455  !@         <font size="2"><a href="l_complex_taylor.htm#MULT" style="text-decoration: none">MULT</a></font></b></td>
456  !@         <td width="102" height="53" align="center">
457  !@         <b>
458  !@         <font size="2"><a href="l_complex_taylor.htm#DMULSC" style="text-decoration: none">DMULSC</a></font></b></td>
459  !@         <td width="99" height="53" align="center">
460  !@         <b>
461  !@         <font size="2"><a href="l_complex_taylor.htm#MULSC" style="text-decoration: none">MULSC</a></font></b></td>
462  !@         <td width="94" height="53" align="center"><b><font size="2">
463  !@         <a href="l_complex_taylor.htm#IMULSC" style="text-decoration: none">IMULSC</a></font></b></td>
464  !@       </tr>
465  !@       <tr>
466  !@         <td width="39" height="55" align="center">
467  !@         <span style="text-transform: uppercase">
468  !@         <font face="Times New Roman" size="2">COMPLEX(DP)</font></span></td>
469  !@         <td width="84" height="55" align="center">
470  !@         <b>
471  !@         <font size="2"><a href="l_complex_taylor.htm#CSCMUL" style="text-decoration: none">CSCMUL</a></font></b></td>
472  !@         <td width="105" height="55" align="center">
473  !@         <b>F90</b></td>
474  !@         <td width="92" height="55" align="center">
475  !@         <b>
476  !@         <font size="2"><a href="l_complex_taylor.htm#CMULT" style="text-decoration: none">CMULT</a></font></b></td>
477  !@         <td width="102" height="55" align="center">
478  !@         <b>F90</b></td>
479  !@         <td width="99" height="55" align="center">
480  !@         <b>F90</b></td>
481  !@         <td width="94" height="55" align="center"><b>F90</b></td>
482  !@       </tr>
483  !@       <tr>
484  !@         <td width="39" height="171" align="center" rowspan="3">
485  !@         <font size="2">REAL</font></td>
486  !@         <td width="39" height="54" align="center">
487  !@         <span style="text-transform: uppercase">
488  !@         <font face="Times New Roman" size="2">TAYLOR</font></span></td>
489  !@         <td width="84" height="50" align="center">
490  !@         <b>
491  !@         <font size="2"><a href="l_complex_taylor.htm#TMUL" style="text-decoration: none">TMUL</a></font></b></td>
492  !@         <td width="105" height="50" align="center">
493  !@         <b>
494  !@         <font size="2"><a href="l_complex_taylor.htm#CTMUL" style="text-decoration: none">CTMUL</a></font></b></td>
495  !@         <td width="92" height="50" align="center">
496  !@            <span style="text-transform: uppercase">
497  !@            <font face="Times New Roman" size="2">
498  !@            <a href="i_tpsa.htm#MUL" style="text-decoration: none; font-style:italic">
499  !@         <font color="#FF0000">MUL</font></a></font></span></td>
500  !@            <td width="77" height="20" align="center">
501  !@            <span style="text-transform: uppercase">
502  !@            <font face="Times New Roman" size="2">
503  !@            <a href="i_tpsa.htm#DMULSC" style="text-decoration: none; font-style:italic">
504  !@            <font color="#FF0000">dMULsc</font></a></font></span></td>
505  !@            <td width="78" height="20" align="center">
506  !@            <font size="2" face="Times New Roman">
507  !@            <a href="i_tpsa.htm#MULSC" style="text-decoration: none; font-style:italic">
508  !@            <font color="#FF0000">MULSC</font></a></font></td>
509  !@            <td width="56" height="20" align="center">
510  !@            <font size="2" face="Times New Roman">
511  !@            <font color="#FF0000">&nbsp;&nbsp; </font>
512  !@            <a href="i_tpsa.htm#IMULSC" style="text-decoration: none; font-style:italic">
513  !@            <font color="#FF0000">IMULSC</font></a></font></td>
514  !@       </tr>
515  !@       <tr>
516  !@         <td width="39" height="56" align="center">
517  !@         <span style="text-transform: uppercase">
518  !@         <font face="Times New Roman" size="2">REAL(DP)</font></span></td>
519  !@         <td width="84" height="55" align="center">
520  !@         <b>
521  !@         <font size="2"><a href="l_complex_taylor.htm#DSCMUL" style="text-decoration: none">DSCMUL</a></font></b></td>
522  !@         <td width="105" height="55" align="center">
523  !@         <b>F90</b></td>
524  !@            <td width="77" height="20" align="center">
525  !@            <span style="text-transform: uppercase">
526  !@            <font face="Times New Roman" size="2">
527  !@            <a href="i_tpsa.htm#DSCMUL" style="text-decoration: none; font-style:italic">
528  !@            <font color="#FF0000">dscMUL</font></a></font></span></td>
529  !@         <td width="102" height="55" align="center"><b>F90</b></td>
530  !@         <td width="99" height="55" align="center"><b>F90</b></td>
531  !@         <td width="94" height="55" align="center"><b>F90</b></td>
532  !@       </tr>
533  !@       <tr>
534  !@         <td width="39" height="56" align="center">
535  !@         <span style="text-transform: uppercase">
536  !@         <font face="Times New Roman" size="2">REAL(SP)</font></span></td>
537  !@         <td width="84" height="52" align="center">
538  !@         <b>
539  !@         <font size="2"><a href="l_complex_taylor.htm#SCMUL" style="text-decoration: none">SCMUL</a></font></b></td>
540  !@         <td width="105" height="52" align="center">
541  !@         <b>F90</b></td>
542  !@            <td width="77" height="20" align="center">
543  !@            <font size="2" face="Times New Roman">
544  !@            <a href="i_tpsa.htm#SCMUL" style="text-decoration: none; font-style:italic">
545  !@            <font color="#FF0000">SCMUL</font></a></font></td>
546  !@         <td width="102" height="52" align="center"><b>F90</b></td>
547  !@         <td width="99" height="52" align="center"><b>F90</b></td>
548  !@         <td width="94" height="52" align="center"><b>F90</b></td>
549  !@       </tr>
550  !@       <tr>
551  !@         <td width="78" height="56" align="center" colspan="2">
552  !@         <span style="text-transform: uppercase">
553  !@         <font face="Times New Roman" size="2">Integer</font></span></td>
554  !@         <td width="84" height="61" align="center"><b><font size="2">
555  !@         <a href="l_complex_taylor.htm#ISCMUL" style="text-decoration: none">ISCMUL</a></font></b></td>
556  !@         <td width="105" height="61" align="center"><b>F90</b></td>
557  !@            <td width="77" height="20" align="center">
558  !@            <font size="2" face="Times New Roman">
559  !@            <a href="i_tpsa.htm#ISCMUL" style="text-decoration: none; font-style:italic">
560  !@            <font color="#FF0000">ISCMUL</font></a></font></td>
561  !@         <td width="102" height="61" align="center"><b>F90</b></td>
562  !@         <td width="99" height="61" align="center"><b>F90</b></td>
563  !@         <td width="94" height="61" align="center"><b>F90</b></td>
564  !@      </tr>
565  !@    </table>
566
567
568  INTERFACE OPERATOR (*)
569     MODULE PROCEDURE mul
570     MODULE PROCEDURE tmul
571     MODULE PROCEDURE mult
572     MODULE PROCEDURE  cscmul
573     MODULE PROCEDURE  ctmul
574     MODULE PROCEDURE  dscmul
575     MODULE PROCEDURE  cmulsc
576     MODULE PROCEDURE  cmult
577     MODULE PROCEDURE  dmulsc
578     MODULE PROCEDURE mulsc
579     MODULE PROCEDURE scmul
580     MODULE PROCEDURE imulsc
581     MODULE PROCEDURE iscmul
582  END INTERFACE
583
584  !@     <table border="4" cellspacing="1" bordercolor="#000000" id="AutoNumber4" width="684" height="445">
585  !@       <tr>
586  !@         <td width="78" height="84" align="center" rowspan="2" colspan="2">
587  !@         <span style="text-transform: uppercase">
588  !@         <font face="Times New Roman" size="4"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </b>
589  !@         /&nbsp; </font></span></td>
590  !@         <td width="193" height="40" align="center" colspan="2">
591  !@         <font size="2">COMPLEX</font></td>
592  !@         <td width="288" height="40" align="center" colspan="3">
593  !@         <font size="2">REAL</font></td>
594  !@         <td width="95" height="82" align="center" rowspan="2">
595  !@         <span style="text-transform: uppercase">
596  !@         <font face="Times New Roman" size="2">Integer</font></span></td>
597  !@       </tr>
598  !@       <tr>
599  !@         <td width="88" height="39" align="center">
600  !@         <p>
601  !@         <span style="text-transform: uppercase">
602  !@         <font face="Times New Roman" size="2">COMPLEX TAYLOR</font></span></p>
603  !@         </td>
604  !@         <td width="105" height="42" align="center">
605  !@         <span style="text-transform: uppercase">
606  !@         <font face="Times New Roman" size="2">COMPLEX(dp)</font></span></td>
607  !@         <td width="88" height="39" align="center">
608  !@         <span style="text-transform: uppercase">
609  !@         <font face="Times New Roman" size="2">TAYLOR</font></span></td>
610  !@         <td width="101" height="39" align="center">
611  !@         <span style="text-transform: uppercase">
612  !@         <font face="Times New Roman" size="2">rEAL(DP)</font></span></td>
613  !@         <td width="100" height="39" align="center">
614  !@         <span style="text-transform: uppercase">
615  !@         <font face="Times New Roman" size="2">REAL(SP)</font></span></td>
616  !@       </tr>
617  !@       <tr>
618  !@         <td width="39" height="109" align="center" rowspan="2">
619  !@         <font size="2">COMPLEX</font></td>
620  !@         <td width="39" height="54" align="center">
621  !@         <span style="text-transform: uppercase">
622  !@         <font face="Times New Roman" size="2">COMPLEX TAYLOR</font></span></td>
623  !@         <td width="84" height="53" align="center">
624  !@         <font size="2">
625  !@         <a href="l_complex_taylor.htm#DIV" style="text-decoration: none; font-weight:700">DIV</a></font></td>
626  !@         <td width="105" height="53" align="center">
627  !@         <font size="2">
628  !@         <a href="l_complex_taylor.htm#CDIVSC" style="text-decoration: none; font-weight:700">CDIVSC</a></font></td>
629  !@         <td width="92" height="53" align="center">
630  !@         <font size="2">
631  !@         <a href="l_complex_taylor.htm#DIVT" style="text-decoration: none; font-weight:700">DIVT</a></font></td>
632  !@         <td width="102" height="53" align="center">
633  !@         <font size="2">
634  !@         <a href="l_complex_taylor.htm#DDIVSC" style="text-decoration: none; font-weight:700">DDIVSC</a></font></td>
635  !@         <td width="99" height="53" align="center">
636  !@         <font size="2">
637  !@         <a href="l_complex_taylor.htm#DIVSC" style="text-decoration: none; font-weight:700">DIVSC</a></font></td>
638  !@         <td width="94" height="53" align="center"><font size="2">
639  !@         <a href="l_complex_taylor.htm#IDIVSC" style="text-decoration: none; font-weight:700">IDIVSC</a></font></td>
640  !@       </tr>
641  !@       <tr>
642  !@         <td width="39" height="55" align="center">
643  !@         <span style="text-transform: uppercase">
644  !@         <font face="Times New Roman" size="2">COMPLEX(DP)</font></span></td>
645  !@         <td width="84" height="55" align="center">
646  !@          <font size="2">
647  !@          <a href="l_complex_taylor.htm#CSCDIV" style="text-decoration: none; font-weight:700">CSCDIV</a></font></td>
648  !@         <td width="105" height="55" align="center">
649  !@         <b>F90</b></td>
650  !@         <td width="92" height="55" align="center">
651  !@          <font size="2">
652  !@          <a href="l_complex_taylor.htm#CDIVT" style="text-decoration: none; font-weight:700">CDIVT</a></font></td>
653  !@         <td width="102" height="55" align="center">
654  !@         <b>F90</b></td>
655  !@         <td width="99" height="55" align="center">
656  !@         <b>F90</b></td>
657  !@         <td width="94" height="55" align="center"><b>F90</b></td>
658  !@       </tr>
659  !@       <tr>
660  !@         <td width="39" height="171" align="center" rowspan="3">
661  !@         <font size="2">REAL</font></td>
662  !@         <td width="39" height="54" align="center">
663  !@         <span style="text-transform: uppercase">
664  !@         <font face="Times New Roman" size="2">TAYLOR</font></span></td>
665  !@         <td width="84" height="50" align="center">
666  !@         <font size="2">
667  !@         <a href="l_complex_taylor.htm#TDIV" style="text-decoration: none; font-weight:700">TDIV</a></font></td>
668  !@         <td width="105" height="50" align="center">
669  !@         <font size="2">
670  !@         <a href="l_complex_taylor.htm#CTDIV" style="text-decoration: none; font-weight:700">CTDIV</a></font></td>
671  !@         <td width="92" height="50" align="center">
672  !@            <span style="text-transform: uppercase">
673  !@            <font face="Times New Roman" size="2">
674  !@            <a href="i_tpsa.htm#DIV" style="text-decoration: none; font-style:italic">
675  !@         <font color="#FF0000">div</font></a></font></span></td>
676  !@            <td width="77" height="20" align="center">
677  !@            <span style="text-transform: uppercase">
678  !@             <font face="Times New Roman" size="2">
679  !@             <a href="i_tpsa.htm#DDIVSC" style="text-decoration: none; font-style:italic">
680  !@            <font color="#FF0000">dDIVsc</font></a></font></span></td>
681  !@            <td width="78" height="20" align="center">
682  !@            <font size="2">
683  !@            <a href="i_tpsa.htm#DIVSC" style="text-decoration: none; font-style:italic">
684  !@            <font color="#FF0000">DIVSC</font></a></font></td>
685  !@            <td width="56" height="20" align="center">
686  !@            <font size="2">
687  !@             <font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp; </font>
688  !@             <a href="i_tpsa.htm#IDIVSC" style="text-decoration: none; font-style:italic">
689  !@             <font color="#FF0000">IDIVSC</font></a></font></td>
690  !@       </tr>
691  !@       <tr>
692  !@         <td width="39" height="56" align="center">
693  !@         <span style="text-transform: uppercase">
694  !@         <font face="Times New Roman" size="2">REAL(DP)</font></span></td>
695  !@         <td width="84" height="55" align="center">
696  !@         <font size="2">
697  !@         <a href="l_complex_taylor.htm#DSCDIV" style="text-decoration: none; font-weight:700">DSCDIV</a></font></td>
698  !@         <td width="105" height="55" align="center">
699  !@         <b>F90</b></td>
700  !@            <td width="77" height="20" align="center">
701  !@            <span style="text-transform: uppercase">
702  !@            <font face="Times New Roman" size="2">
703  !@            <a href="i_tpsa.htm#DSCDIV" style="text-decoration: none; font-style:italic">
704  !@            <font color="#FF0000">dscDIV</font></a></font></span></td>
705  !@         <td width="102" height="55" align="center"><b>F90</b></td>
706  !@         <td width="99" height="55" align="center"><b>F90</b></td>
707  !@         <td width="94" height="55" align="center"><b>F90</b></td>
708  !@       </tr>
709  !@       <tr>
710  !@         <td width="39" height="56" align="center">
711  !@         <span style="text-transform: uppercase">
712  !@         <font face="Times New Roman" size="2">REAL(SP)</font></span></td>
713  !@         <td width="84" height="52" align="center">
714  !@          <font size="2">
715  !@          <a href="l_complex_taylor.htm#SCDIV" style="text-decoration: none; font-weight:700">SCDIV</a></font></td>
716  !@         <td width="105" height="52" align="center">
717  !@         <b>F90</b></td>
718  !@            <td width="77" height="20" align="center">
719  !@            <font size="2">
720  !@             <a href="i_tpsa.htm#SCDIV" style="text-decoration: none; font-style:italic">
721  !@            <font color="#FF0000">SCDIV</font></a></font></td>
722  !@         <td width="102" height="52" align="center"><b>F90</b></td>
723  !@         <td width="99" height="52" align="center"><b>F90</b></td>
724  !@         <td width="94" height="52" align="center"><b>F90</b></td>
725  !@       </tr>
726  !@       <tr>
727  !@         <td width="78" height="56" align="center" colspan="2">
728  !@         <span style="text-transform: uppercase">
729  !@         <font face="Times New Roman" size="2">Integer</font></span></td>
730  !@         <td width="84" height="61" align="center"><font size="2">
731  !@         <a href="l_complex_taylor.htm#ISCDIV" style="text-decoration: none; font-weight:700">
732  !@         ISCDIV</a></font></td>
733  !@         <td width="105" height="61" align="center"><b>F90</b></td>
734  !@            <td width="77" height="20" align="center">
735  !@            <font size="2">
736  !@             <a href="i_tpsa.htm#ISCDIV" style="text-decoration: none; font-style:italic">
737  !@             <font color="#FF0000">ISCDIV</font></a></font></td>
738  !@         <td width="102" height="61" align="center"><b>F90</b></td>
739  !@         <td width="99" height="61" align="center"><b>F90</b></td>
740  !@         <td width="94" height="61" align="center"><b>F90</b></td>
741  !@       </tr>
742  !@     </table>
743
744
745  INTERFACE OPERATOR (/)
746     MODULE PROCEDURE div
747     MODULE PROCEDURE divt
748     MODULE PROCEDURE tdiv
749     MODULE PROCEDURE ctdiv
750     MODULE PROCEDURE cdivt
751     MODULE PROCEDURE ddivsc
752     MODULE PROCEDURE cdivsc
753     MODULE PROCEDURE dscdiv
754     MODULE PROCEDURE cscdiv
755     MODULE PROCEDURE divsc
756     MODULE PROCEDURE scdiv
757     MODULE PROCEDURE idivsc
758     MODULE PROCEDURE iscdiv
759  END INTERFACE
760
761
762  INTERFACE OPERATOR (**)
763     MODULE PROCEDURE POW
764     MODULE PROCEDURE POWR
765     MODULE PROCEDURE POWR8
766  END INTERFACE
767
768  ! New Operators
769
770  INTERFACE OPERATOR (.var.)
771     MODULE PROCEDURE varco
772     MODULE PROCEDURE varco1
773  END INTERFACE
774
775  INTERFACE OPERATOR (.mono.)
776     MODULE PROCEDURE dputint     !@1 Accepts J(nv) </br>
777     MODULE PROCEDURE dputchar  !@1 Accepts String such as '12 </br>
778  END INTERFACE
779
780  INTERFACE OPERATOR (.d.)
781     MODULE PROCEDURE getdiff
782  END INTERFACE
783
784  INTERFACE OPERATOR (.K.)
785     MODULE PROCEDURE getdATRA
786  END INTERFACE
787
788  INTERFACE OPERATOR (.SUB.)
789     MODULE PROCEDURE GETORDER
790     MODULE PROCEDURE getchar
791     MODULE PROCEDURE GETint
792  END INTERFACE
793
794  INTERFACE OPERATOR (.CUT.)
795     MODULE PROCEDURE CUTORDER
796  END INTERFACE
797
798
799  INTERFACE OPERATOR (.PAR.)
800     MODULE PROCEDURE getcharnd2
801     MODULE PROCEDURE GETintnd2
802  END INTERFACE
803
804  INTERFACE OPERATOR (<=)
805     MODULE PROCEDURE getcharnd2s
806     MODULE PROCEDURE GETintnd2s
807     MODULE PROCEDURE GETintk
808  END INTERFACE
809
810  ! Intrinsic Routines
811
812  INTERFACE aimag
813     MODULE PROCEDURE dimagt
814  END INTERFACE
815  INTERFACE dimag
816     MODULE PROCEDURE dimagt
817  END INTERFACE
818
819  INTERFACE dble
820     MODULE PROCEDURE drealt
821  END INTERFACE
822  INTERFACE dreal
823     MODULE PROCEDURE drealt
824  END INTERFACE
825
826  INTERFACE cmplx
827     MODULE PROCEDURE dcmplxt
828  END INTERFACE
829  INTERFACE dcmplx
830     MODULE PROCEDURE dcmplxt
831  END INTERFACE
832
833
834
835  INTERFACE abs
836     MODULE PROCEDURE abstpsat
837  END INTERFACE
838  INTERFACE dabs
839     MODULE PROCEDURE abstpsat
840  END INTERFACE
841
842  INTERFACE log
843     MODULE PROCEDURE logtpsat
844  END INTERFACE
845  INTERFACE dlog
846     MODULE PROCEDURE logtpsat
847  END INTERFACE
848  INTERFACE clog
849     MODULE PROCEDURE logtpsat
850  END INTERFACE
851  INTERFACE cdlog
852     MODULE PROCEDURE logtpsat
853  END INTERFACE
854
855
856  INTERFACE atan
857     MODULE PROCEDURE datant
858     MODULE PROCEDURE datantt
859  END INTERFACE
860  INTERFACE datan
861     MODULE PROCEDURE datant
862     MODULE PROCEDURE datantt
863  END INTERFACE
864
865  INTERFACE asin
866     MODULE PROCEDURE dasint
867     MODULE PROCEDURE dasintt
868  END INTERFACE
869  INTERFACE dasin
870     MODULE PROCEDURE dasint
871     MODULE PROCEDURE dasintt
872  END INTERFACE
873
874  INTERFACE acos
875     MODULE PROCEDURE dacost
876     MODULE PROCEDURE dacostt
877  END INTERFACE
878  INTERFACE dacos
879     MODULE PROCEDURE dacost
880     MODULE PROCEDURE dacostt
881  END INTERFACE
882
883  INTERFACE tan
884     MODULE PROCEDURE tant
885  END INTERFACE
886  INTERFACE dtan
887     MODULE PROCEDURE tant
888  END INTERFACE
889
890
891
892  INTERFACE cos
893     MODULE PROCEDURE dcost
894  END INTERFACE
895  INTERFACE cdcos
896     MODULE PROCEDURE dcost
897  END INTERFACE
898  INTERFACE ccos
899     MODULE PROCEDURE dcost
900  END INTERFACE
901  INTERFACE dcos
902     MODULE PROCEDURE dcost
903  END INTERFACE
904
905
906  INTERFACE sin
907     MODULE PROCEDURE dsint
908  END INTERFACE
909  INTERFACE cdsin
910     MODULE PROCEDURE dsint
911  END INTERFACE
912  INTERFACE csin
913     MODULE PROCEDURE dsint
914  END INTERFACE
915  INTERFACE dsin
916     MODULE PROCEDURE dsint
917  END INTERFACE
918
919
920  INTERFACE exp
921     MODULE PROCEDURE exptpsat
922  END INTERFACE
923  INTERFACE dexp
924     MODULE PROCEDURE exptpsat
925  END INTERFACE
926  INTERFACE cexp
927     MODULE PROCEDURE exptpsat
928  END INTERFACE
929  INTERFACE cdexp
930     MODULE PROCEDURE exptpsat
931  END INTERFACE
932
933
934  INTERFACE cosh
935     MODULE PROCEDURE dcosht
936  END INTERFACE
937  INTERFACE dcosh
938     MODULE PROCEDURE dcosht
939  END INTERFACE
940
941  INTERFACE sinh
942     MODULE PROCEDURE dsinht
943  END INTERFACE
944  INTERFACE dsinh
945     MODULE PROCEDURE dsinht
946  END INTERFACE
947
948  INTERFACE tanh
949     MODULE PROCEDURE dtanht
950  END INTERFACE
951  INTERFACE dtanh
952     MODULE PROCEDURE dtanht
953  END INTERFACE
954
955  INTERFACE sqrt
956     MODULE PROCEDURE dsqrtt
957  END INTERFACE
958  INTERFACE dsqrt
959     MODULE PROCEDURE dsqrtt
960  END INTERFACE
961  INTERFACE cdsqrt
962     MODULE PROCEDURE dsqrtt
963  END INTERFACE
964
965  ! End Intrinsic Routines
966
967  ! Non-intrisic Functions
968
969  !  INTERFACE var
970  !     MODULE PROCEDURE varc
971  !     MODULE PROCEDURE varcC
972  !  END INTERFACE
973  !
974  !  INTERFACE shiftda
975  !     MODULE PROCEDURE shiftc
976  !  END INTERFACE
977
978  INTERFACE pok
979     MODULE PROCEDURE pokc
980  END INTERFACE
981
982  INTERFACE pek
983     MODULE PROCEDURE pekc
984  END INTERFACE
985
986  INTERFACE CFU
987     MODULE PROCEDURE CFUC
988     MODULE PROCEDURE CFURES
989  END INTERFACE
990
991  INTERFACE full_abs
992     MODULE PROCEDURE full_abstpsat
993  END INTERFACE
994
995
996  ! i/o
997
998  INTERFACE daprint
999     MODULE PROCEDURE printcomplex
1000  END INTERFACE
1001
1002  INTERFACE print
1003     MODULE PROCEDURE printcomplex
1004  END INTERFACE
1005
1006  INTERFACE read
1007     MODULE PROCEDURE inputcomplex
1008  END INTERFACE
1009
1010  INTERFACE dainput
1011     MODULE PROCEDURE inputcomplex
1012  END INTERFACE
1013
1014  ! end of /o
1015
1016  ! Constructors  and Destructors
1017
1018  INTERFACE alloc
1019     MODULE PROCEDURE alloccomplex
1020     MODULE PROCEDURE a_opt
1021     MODULE PROCEDURE alloccomplexn
1022  END INTERFACE
1023
1024
1025  INTERFACE kill
1026     MODULE PROCEDURE killcomplex
1027     MODULE PROCEDURE k_opt
1028     MODULE PROCEDURE killcomplexn
1029  END INTERFACE
1030
1031  ! end Constructors  and Destructors
1032
1033  ! managing
1034
1035  INTERFACE ass
1036     MODULE PROCEDURE assc
1037  END INTERFACE
1038
1039  ! end managing
1040
1041
1042contains
1043
1044  FUNCTION dimagt( S1 )
1045    implicit none
1046    TYPE (taylor) dimagt
1047    TYPE (complextaylor), INTENT (IN) :: S1
1048    integer localmaster
1049    localmaster=master
1050
1051
1052    call ass(dimagt)    !2002.12.25
1053
1054    dimagt=s1%i
1055
1056    master=localmaster
1057  END FUNCTION dimagt
1058
1059  FUNCTION drealt( S1 )
1060    implicit none
1061    TYPE (taylor) drealt
1062    TYPE (complextaylor), INTENT (IN) :: S1
1063    integer localmaster
1064    localmaster=master
1065
1066
1067    call ass(drealt)    !2002.12.25
1068
1069    drealt=s1%r
1070
1071    master=localmaster
1072  END FUNCTION drealt
1073
1074  FUNCTION GETCHARnd2( S1, S2 )
1075    implicit none
1076    TYPE (complextaylor) GETCHARnd2
1077    TYPE (complextaylor), INTENT (IN) :: S1
1078    CHARACTER(*)  , INTENT (IN) ::  S2
1079
1080    integer localmaster
1081    localmaster=master
1082
1083    call ass(GETCHARnd2)
1084
1085
1086    GETCHARnd2%r=s1%r.par.s2
1087    GETCHARnd2%i=s1%i.par.s2
1088
1089    master=localmaster
1090
1091
1092  END FUNCTION GETCHARnd2
1093
1094  FUNCTION GETintnd2( S1, S2 )
1095    implicit none
1096    TYPE (complextaylor) GETintnd2
1097    TYPE (complextaylor), INTENT (IN) :: S1
1098    integer  , INTENT (IN) ::  S2(:)
1099
1100    integer localmaster
1101    localmaster=master
1102
1103    call ass(GETintnd2)
1104
1105
1106    GETintnd2%r=s1%r.par.s2
1107    GETintnd2%i=s1%i.par.s2
1108
1109    master=localmaster
1110
1111
1112  END FUNCTION GETintnd2
1113
1114
1115  FUNCTION GETCHARnd2s( S1, S2 )
1116    implicit none
1117    TYPE (complextaylor) GETCHARnd2s
1118    TYPE (complextaylor), INTENT (IN) :: S1
1119    CHARACTER(*)  , INTENT (IN) ::  S2
1120
1121    integer localmaster
1122    localmaster=master
1123
1124    call ass(GETCHARnd2s)
1125
1126
1127    GETCHARnd2s%r=s1%r<=s2
1128    GETCHARnd2s%i=s1%i<=s2
1129
1130    master=localmaster
1131
1132
1133  END FUNCTION GETCHARnd2s
1134
1135  FUNCTION GETintnd2s( S1, S2 )
1136    implicit none
1137    TYPE (complextaylor) GETintnd2s
1138    TYPE (complextaylor), INTENT (IN) :: S1
1139    integer  , INTENT (IN) ::  S2(:)
1140
1141    integer localmaster
1142    localmaster=master
1143
1144    call ass(GETintnd2s)
1145
1146
1147    GETintnd2s%r= s1%r<=s2
1148    GETintnd2s%i= s1%i<=s2
1149
1150    master=localmaster
1151
1152
1153  END FUNCTION GETintnd2s
1154
1155  FUNCTION dputchar( S1, S2 )
1156    implicit none
1157    TYPE (complextaylor) dputchar
1158    complex(dp) , INTENT (IN) :: S1
1159    CHARACTER(*)  , INTENT (IN) ::  S2
1160    !    CHARACTER (LEN = LNV)  resul
1161    !    integer j(lnv),i,nd2par
1162
1163    integer localmaster
1164    localmaster=master
1165
1166    call ass(dputchar)
1167
1168    !    resul = trim(ADJUSTL (s2))
1169    !
1170    !    do i=1,lnv
1171    !       j(i)=0
1172    !    enddo
1173    !
1174    !    nd2par= len(trim(ADJUSTL (s2)))
1175    !    !frs    do i=1,len(trim(ADJUSTL (s2)))
1176    !    do i=1,nd2par
1177    !       CALL  CHARINT(RESUL(I:I),J(I))
1178    !       if(i>nv) then
1179    !          if(j(i)>0) then
1180    !             call var(dputchar,cmplx(zero,zero,kind=dp),0,0)
1181    !             return
1182    !          endif
1183    !       endif
1184    !   enddo
1185    !
1186    !
1187    !    call var(dputchar,cmplx(zero,zero,kind=dp),0,0)
1188    !    call pok(dputchar,j,s1)
1189    !
1190    dputchar%r= real(S1,kind=dp).mono.S2
1191    dputchar%i= aimag(S1).mono.S2
1192
1193
1194    master=localmaster
1195
1196  END FUNCTION dputchar
1197
1198  FUNCTION dputint( S1, S2 )
1199    implicit none
1200    TYPE (complextaylor) dputint
1201    complex(dp) , INTENT (IN) :: S1
1202    integer  , INTENT (IN) ::  S2(:)
1203    !   integer j(lnv),i,nd2par
1204
1205    integer localmaster
1206    localmaster=master
1207
1208    call ass(dputint)
1209
1210    !    do i=1,lnv
1211    !       j(i)=0
1212    !    enddo!
1213    !
1214    !    nd2par=size(s2)
1215    !    do i=1,nd2par
1216    !       J(I)=s2(i)
1217    !    enddo
1218
1219    !frs    do i=1,len(trim(ADJUSTL (s2)))
1220    !    do i=1,nd2par
1221    !       if(i>nv) then
1222    !          if(j(i)>0) then
1223    !             call var(dputint,cmplx(zero,zero,kind=dp),0,0)
1224    !             return
1225    !          endif
1226    !!       endif
1227    !    enddo
1228    !
1229
1230
1231    !   call var(dputint,cmplx(zero,zero,kind=dp),0,0)
1232    !    call pok(dputint,j,s1)
1233
1234
1235    dputint%r= real(S1,kind=dp).mono.S2
1236    dputint%i= aimag(S1).mono.S2
1237
1238
1239    master=localmaster
1240
1241  END FUNCTION dputint
1242
1243
1244
1245  FUNCTION varco(s1,s2)
1246    implicit none
1247    TYPE (complextaylor) varco
1248    complex(dp) , INTENT (IN) :: S1
1249    integer  , INTENT (IN) ::  S2(2)
1250
1251    integer localmaster
1252    localmaster=master
1253
1254    call ass(varco)
1255
1256    varco%r=REAL(s1,kind=DP) + (1.0_dp.mono.s2(1))
1257    varco%i=aimag(s1) + (1.0_dp.mono.s2(2))
1258
1259
1260    !varco%r=REAL(s1,kind=DP).var.s2(1)
1261    !varco%i=aimag(s1).var.s2(2)
1262
1263    master=localmaster
1264
1265  END FUNCTION varco
1266
1267
1268  FUNCTION varco1(s1,s2)
1269    implicit none
1270    TYPE (complextaylor) varco1
1271    complex(dp) , INTENT (IN) :: S1(2)
1272    integer  , INTENT (IN) ::  S2(2)
1273
1274    integer localmaster
1275    localmaster=master
1276
1277    call ass(varco1)
1278
1279
1280
1281    varco1=s1(1)+s1(2)*((1.0_dp.mono.s2(1))+i_*(1.0_dp.mono.s2(2)))
1282
1283    master=localmaster
1284
1285  END FUNCTION varco1
1286
1287
1288
1289
1290  FUNCTION GETORDER( S1, S2 )
1291    implicit none
1292    TYPE (complextaylor) GETORDER
1293    TYPE (complextaylor), INTENT (IN) :: S1
1294    INTEGER, INTENT (IN) ::  S2
1295
1296    integer localmaster
1297    localmaster=master
1298    call ass(GETORDER)
1299
1300    GETORDER%r=S1%r.sub.s2
1301    GETORDER%i=S1%i.sub.s2
1302
1303
1304    master=localmaster
1305
1306  END FUNCTION GETORDER
1307
1308  FUNCTION CUTORDER( S1, S2 )
1309    implicit none
1310    TYPE (complextaylor) CUTORDER
1311    TYPE (complextaylor), INTENT (IN) :: S1
1312    INTEGER, INTENT (IN) ::  S2
1313
1314    integer localmaster
1315    localmaster=master
1316    call ass(CUTORDER)
1317
1318    CUTORDER%r=S1%r.CUT.s2
1319    CUTORDER%i=S1%i.CUT.s2
1320
1321
1322    master=localmaster
1323
1324  END FUNCTION CUTORDER
1325
1326  FUNCTION GETchar( S1, S2 )
1327    implicit none
1328    complex(dp) GETchar
1329    real(dp) r1,r2
1330    TYPE (complextaylor), INTENT (IN) :: S1
1331    CHARACTER(*)  , INTENT (IN) ::  S2
1332
1333    integer localmaster
1334    localmaster=master
1335
1336    r1=S1%r.sub.s2
1337    r2=S1%i.sub.s2
1338
1339    GETchar=cmplx(r1,r2,kind=dp)
1340
1341    master=localmaster
1342  END FUNCTION GETchar
1343
1344  FUNCTION GETint( S1, S2 )   ! 2002.12.20
1345    implicit none
1346    complex(dp) GETint
1347    TYPE (complextaylor), INTENT (IN) :: S1
1348    integer  , INTENT (IN) ::  S2(:)
1349    real(dp) r1,r2
1350
1351
1352    r1=S1%r.sub.s2
1353    r2=S1%i.sub.s2
1354
1355    GETint=cmplx(r1,r2,kind=dp)
1356
1357
1358  END FUNCTION GETint
1359
1360
1361  FUNCTION POW( S1, R2 )
1362    implicit none
1363    TYPE (complextaylor) POW,temp
1364    TYPE (complextaylor), INTENT (IN) :: S1
1365    INTEGER, INTENT (IN) :: R2
1366    INTEGER I,R22
1367
1368    integer localmaster
1369    localmaster=master
1370    call ass(pow)
1371
1372    call alloc(temp)
1373
1374    TEMP=1.0_dp
1375
1376
1377    R22=IABS(R2)
1378    DO I=1,R22
1379       temp=temp*s1
1380    ENDDO
1381    IF(R2.LT.0) THEN
1382       temp=1.0_dp/temp
1383    ENDIF
1384
1385    POW=temp
1386
1387    call kill(temp)
1388    master=localmaster
1389
1390
1391  END FUNCTION POW
1392
1393  FUNCTION POWR( S1, R2 )
1394    implicit none
1395    TYPE (complextaylor) POWR,temp
1396    TYPE (complextaylor), INTENT (IN) :: S1
1397    REAL(SP), INTENT (IN) :: R2
1398    integer localmaster
1399
1400    if(real_warning) call real_stop
1401    localmaster=master
1402    call ass(POWR)
1403    call alloc(temp)
1404
1405    temp=log(s1)
1406    temp=temp*(r2)
1407    temp=exp(temp)
1408    POWR=temp
1409
1410    call kill(temp)
1411    master=localmaster
1412
1413  END FUNCTION POWR
1414
1415  FUNCTION POWR8( S1, R2 )
1416    implicit none
1417    TYPE (complextaylor) POWR8,temp
1418    TYPE (complextaylor), INTENT (IN) :: S1
1419    real(dp), INTENT (IN) :: R2
1420
1421    integer localmaster
1422    localmaster=master
1423    call ass(powr8)
1424    call alloc(temp)
1425
1426    temp=log(s1)
1427    temp=temp*r2
1428    temp=exp(temp)
1429    POWR8=temp
1430
1431    call kill(temp)
1432    master=localmaster
1433
1434  END FUNCTION POWR8
1435
1436  FUNCTION GETdiff( S1, S2 )
1437    implicit none
1438    TYPE (complextaylor) GETdiff
1439    TYPE (complextaylor), INTENT (IN) :: S1
1440    INTEGER, INTENT (IN) ::  S2
1441
1442    integer localmaster
1443    localmaster=master
1444    call ass(GETdiff)
1445
1446    getdiff%r=s1%r.d.s2
1447    getdiff%i=s1%i.d.s2
1448
1449    master=localmaster
1450  END FUNCTION GETdiff
1451
1452  FUNCTION GETdatra( S1, S2 )
1453    implicit none
1454    TYPE (complextaylor) GETdatra
1455    TYPE (complextaylor), INTENT (IN) :: S1
1456    INTEGER, INTENT (IN) ::  S2
1457
1458    integer localmaster
1459    localmaster=master
1460    call ass(GETdatra)
1461
1462    GETdatra%r=s1%r.k.s2
1463    GETdatra%i=s1%i.k.s2
1464
1465    master=localmaster
1466  END FUNCTION GETdatra
1467
1468  SUBROUTINE  alloccomplex(S2)
1469    implicit none
1470    type (complextaylor),INTENT(INOUT)::S2
1471    call alloctpsa(s2%r)
1472    call alloctpsa(s2%i)
1473  END SUBROUTINE alloccomplex
1474
1475  SUBROUTINE  alloccomplexn(S2,K)
1476    implicit none
1477    type (complextaylor),INTENT(INOUT),dimension(:)::S2
1478    INTEGER,optional,INTENT(IN)::k
1479    INTEGER J,i,N
1480
1481    if(present(k)) then
1482       I=LBOUND(S2,DIM=1)
1483       N=LBOUND(S2,DIM=1)+K-1
1484    else
1485       I=LBOUND(S2,DIM=1)
1486       N=UBOUND(S2,DIM=1)
1487    endif
1488
1489    DO   J=I,N
1490       call alloctpsa(s2(j)%r)
1491       call alloctpsa(s2(j)%i)
1492    enddo
1493
1494  END SUBROUTINE alloccomplexn
1495
1496  SUBROUTINE  A_OPT(S1,S2,s3,s4,s5,s6,s7,s8,s9,s10)
1497    implicit none
1498    type (complextaylor),INTENT(INout)::S1,S2
1499    type (complextaylor),optional, INTENT(INout):: s3,s4,s5,s6,s7,s8,s9,s10
1500    call alloc(s1)
1501    call alloc(s2)
1502    if(present(s3)) call alloc(s3)
1503    if(present(s4)) call alloc(s4)
1504    if(present(s5)) call alloc(s5)
1505    if(present(s6)) call alloc(s6)
1506    if(present(s7)) call alloc(s7)
1507    if(present(s8)) call alloc(s8)
1508    if(present(s9)) call alloc(s9)
1509    if(present(s10))call alloc(s10)
1510  END SUBROUTINE A_opt
1511
1512  SUBROUTINE  K_OPT(S1,S2,s3,s4,s5,s6,s7,s8,s9,s10)
1513    implicit none
1514    type (complextaylor),INTENT(INout)::S1,S2
1515    type (complextaylor),optional, INTENT(INout):: s3,s4,s5,s6,s7,s8,s9,s10
1516    call KILL(s1)
1517    call KILL(s2)
1518    if(present(s3)) call KILL(s3)
1519    if(present(s4)) call KILL(s4)
1520    if(present(s5)) call KILL(s5)
1521    if(present(s6)) call KILL(s6)
1522    if(present(s7)) call KILL(s7)
1523    if(present(s8)) call KILL(s8)
1524    if(present(s9)) call KILL(s9)
1525    if(present(s10))call KILL(s10)
1526  END SUBROUTINE K_opt
1527
1528  SUBROUTINE  printcomplex(S2,i,deps)
1529    implicit none
1530    type (complextaylor),INTENT(INOUT)::S2
1531    integer i
1532    REAL(DP),OPTIONAL,INTENT(INOUT)::DEPS
1533
1534    call daprint(s2%r,i,deps)
1535    call daprint(s2%i,i,deps)
1536  END SUBROUTINE printcomplex
1537
1538  SUBROUTINE  inputcomplex(S2,i)
1539    implicit none
1540    type (complextaylor),INTENT(INOUT)::S2
1541    integer i
1542    call dainput(s2%r,i)
1543    call dainput(s2%i,i)
1544  END SUBROUTINE inputcomplex
1545
1546
1547  SUBROUTINE  killcomplex(S2)
1548    implicit none
1549    type (complextaylor),INTENT(INOUT)::S2
1550    call killTPSA(s2%r)
1551    call killTPSA(s2%i)
1552  END SUBROUTINE killcomplex
1553
1554  SUBROUTINE  killcomplexn(S2,K)
1555    implicit none
1556    type (complextaylor),INTENT(INOUT),dimension(:)::S2
1557    INTEGER,optional,INTENT(IN)::k
1558    INTEGER J,i,N
1559
1560    if(present(k)) then
1561       I=LBOUND(S2,DIM=1)
1562       N=LBOUND(S2,DIM=1)+K-1
1563    else
1564       I=LBOUND(S2,DIM=1)
1565       N=UBOUND(S2,DIM=1)
1566    endif
1567
1568    DO   J=I,N
1569       call killtpsa(s2(j)%r)
1570       call killtpsa(s2(j)%i)
1571    enddo
1572
1573  END SUBROUTINE killcomplexn
1574
1575  FUNCTION mul( S1, S2 )
1576    implicit none
1577    TYPE (complextaylor) mul
1578    TYPE (complextaylor), INTENT (IN) :: S1, S2
1579    integer localmaster
1580    localmaster=master
1581    call ass(mul)
1582    mul%r=s1%r*s2%r-s1%i*s2%i
1583    mul%i=s1%r*s2%i+s1%i*s2%r
1584    master=localmaster
1585  END FUNCTION mul
1586
1587  FUNCTION div( S1, S2 )
1588    implicit none
1589    TYPE (complextaylor) div ,t
1590    TYPE (complextaylor), INTENT (IN) :: S1, S2
1591    integer localmaster
1592    localmaster=master
1593
1594    call ass(div)
1595
1596    call alloc(t)
1597    call inv(s2,t)
1598    div%r=s1%r*t%r-s1%i*t%i
1599    div%i=s1%r*t%i+s1%i*t%r
1600    call kill(t)
1601    master=localmaster
1602  END FUNCTION div
1603
1604  FUNCTION cscdiv( S1, S2 )
1605    implicit none
1606    TYPE (complextaylor) cscdiv ,t
1607    TYPE (complextaylor), INTENT (IN) ::  S2
1608    complex(dp), INTENT (IN) :: S1
1609    integer localmaster
1610    localmaster=master
1611    call ass(cscdiv)
1612    call alloc(t)
1613    call inv(s2,t)
1614    cscdiv%r=REAL(s1,kind=DP)*t%r-aimag(s1)*t%i
1615    cscdiv%i=REAL(s1,kind=DP)*t%i+aimag(s1)*t%r
1616    call kill(t)
1617    master=localmaster
1618  END FUNCTION cscdiv
1619
1620  FUNCTION dscdiv( S1, S2 )
1621    implicit none
1622    TYPE (complextaylor) dscdiv ,t
1623    TYPE (complextaylor), INTENT (IN) ::  S2
1624    real(dp), INTENT (IN) :: S1
1625    integer localmaster
1626    localmaster=master
1627    call ass(dscdiv)
1628    call alloc(t)
1629    call inv(s2,t)
1630    dscdiv%r=s1*t%r
1631    dscdiv%i=s1*t%i
1632    call kill(t)
1633    master=localmaster
1634  END FUNCTION dscdiv
1635
1636  FUNCTION scdiv( S1, S2 )
1637    implicit none
1638    TYPE (complextaylor) scdiv ,t
1639    TYPE (complextaylor), INTENT (IN) ::  S2
1640    real(sp), INTENT (IN) :: S1
1641    integer localmaster
1642    if(real_warning) call real_stop
1643    localmaster=master
1644    call ass(scdiv)
1645    call alloc(t)
1646    call inv(s2,t)
1647    scdiv%r=s1*t%r
1648    scdiv%i=s1*t%i
1649    call kill(t)
1650    master=localmaster
1651  END FUNCTION scdiv
1652
1653  FUNCTION iscdiv( S1, S2 )
1654    implicit none
1655    TYPE (complextaylor) iscdiv ,t
1656    TYPE (complextaylor), INTENT (IN) ::  S2
1657    integer, INTENT (IN) :: S1
1658    integer localmaster
1659    localmaster=master
1660    call ass(iscdiv)
1661    call alloc(t)
1662    call inv(s2,t)
1663    iscdiv%r=s1*t%r
1664    iscdiv%i=s1*t%i
1665    call kill(t)
1666    master=localmaster
1667  END FUNCTION iscdiv
1668
1669  FUNCTION idivsc( S2,S1  )
1670    implicit none
1671    TYPE (complextaylor) idivsc
1672    TYPE (complextaylor), INTENT (IN) ::  S2
1673    integer, INTENT (IN) :: S1
1674    integer localmaster
1675    localmaster=master
1676    call ass(idivsc)
1677    idivsc%r=(1.0_dp/s1)*s2%r
1678    idivsc%i=(1.0_dp/s1)*s2%i
1679    master=localmaster
1680  END FUNCTION idivsc
1681
1682
1683  FUNCTION divsc( S2,S1  )
1684    implicit none
1685    TYPE (complextaylor) divsc
1686    TYPE (complextaylor), INTENT (IN) ::  S2
1687    real(sp), INTENT (IN) :: S1
1688    integer localmaster
1689    if(real_warning) call real_stop
1690    localmaster=master
1691    call ass(divsc)
1692    divsc%r=(1.0_dp/s1)*s2%r
1693    divsc%i=(1.0_dp/s1)*s2%i
1694    master=localmaster
1695  END FUNCTION divsc
1696
1697
1698  FUNCTION ddivsc( S2,S1  )
1699    implicit none
1700    TYPE (complextaylor) ddivsc
1701    TYPE (complextaylor), INTENT (IN) ::  S2
1702    real(dp), INTENT (IN) :: S1
1703    integer localmaster
1704    localmaster=master
1705    call ass(ddivsc)
1706    ddivsc%r=(1.0_dp/s1)*s2%r
1707    ddivsc%i=(1.0_dp/s1)*s2%i
1708    master=localmaster
1709  END FUNCTION ddivsc
1710
1711  FUNCTION cdivsc( S2,S1  )
1712    implicit none
1713    TYPE (complextaylor) cdivsc
1714    TYPE (complextaylor), INTENT (IN) ::  S2
1715    complex(dp), INTENT (IN) :: S1
1716    integer localmaster
1717    localmaster=master
1718    call ass(cdivsc)
1719    cdivsc%r=REAL((1.0_dp/s1),kind=DP)*s2%r-aimag((1.0_dp/s1))*s2%i
1720    cdivsc%i=REAL((1.0_dp/s1),kind=DP)*s2%i+aimag((1.0_dp/s1))*s2%r
1721    master=localmaster
1722  END FUNCTION cdivsc
1723
1724  FUNCTION cscmul( sc,S1 )
1725    implicit none
1726    TYPE (complextaylor) cscmul
1727    TYPE (complextaylor), INTENT (IN) :: S1
1728    complex(dp), INTENT (IN) :: sc
1729    integer localmaster
1730    localmaster=master
1731    call ass(cscmul)
1732
1733    cscmul%r=REAL(sc,kind=DP)*s1%r-aimag(sc)*s1%i
1734    cscmul%i=REAL(sc,kind=DP)*s1%i+aimag(sc)*s1%r
1735    master=localmaster
1736  END FUNCTION cscmul
1737
1738  FUNCTION ctmul( S1,sc )
1739    implicit none
1740    TYPE (complextaylor) ctmul
1741    TYPE (taylor), INTENT (IN) :: S1
1742    complex(dp), INTENT (IN) :: sc
1743    integer localmaster
1744    localmaster=master
1745    call ass(ctmul)
1746
1747    ctmul%r=REAL(sc,kind=DP)*s1
1748    ctmul%i=aimag(sc)*s1
1749    master=localmaster
1750  END FUNCTION ctmul
1751
1752  FUNCTION cmult( sc,S1 )
1753    implicit none
1754    TYPE (complextaylor) cmult
1755    TYPE (taylor), INTENT (IN) :: S1
1756    complex(dp), INTENT (IN) :: sc
1757    integer localmaster
1758    localmaster=master
1759    call ass(cmult)
1760
1761    cmult%r=REAL(sc,kind=DP)*s1
1762    cmult%i=aimag(sc)*s1
1763    master=localmaster
1764  END FUNCTION cmult
1765
1766  FUNCTION caddt( sc,S1 )
1767    implicit none
1768    TYPE (complextaylor) caddt
1769    TYPE (taylor), INTENT (IN) :: S1
1770    complex(dp), INTENT (IN) :: sc
1771    integer localmaster
1772    localmaster=master
1773    call ass(caddt)
1774
1775    caddt%r=REAL(sc,kind=DP)+s1
1776    caddt%i=aimag(sc)
1777    master=localmaster
1778  END FUNCTION caddt
1779
1780  FUNCTION ctadd(S1, sc )
1781    implicit none
1782    TYPE (complextaylor) ctadd
1783    TYPE (taylor), INTENT (IN) :: S1
1784    complex(dp), INTENT (IN) :: sc
1785    integer localmaster
1786    localmaster=master
1787    call ass(ctadd)
1788
1789    ctadd%r=REAL(sc,kind=DP)+s1
1790    ctadd%i=aimag(sc)
1791    master=localmaster
1792  END FUNCTION ctadd
1793
1794  FUNCTION csubt( sc,S1 )
1795    implicit none
1796    TYPE (complextaylor) csubt
1797    TYPE (taylor), INTENT (IN) :: S1
1798    complex(dp), INTENT (IN) :: sc
1799    integer localmaster
1800    localmaster=master
1801    call ass(csubt)
1802
1803    csubt%r=REAL(sc,kind=DP)-s1
1804    csubt%i=aimag(sc)
1805    master=localmaster
1806  END FUNCTION csubt
1807
1808  FUNCTION ctsub( S1,sc )
1809    implicit none
1810    TYPE (complextaylor) ctsub
1811    TYPE (taylor), INTENT (IN) :: S1
1812    complex(dp), INTENT (IN) :: sc
1813    integer localmaster
1814    localmaster=master
1815    call ass(ctsub)
1816
1817    ctsub%r=s1-REAL(sc,kind=DP)
1818    ctsub%i=-aimag(sc)
1819    master=localmaster
1820  END FUNCTION ctsub
1821
1822  FUNCTION cdivt( sc,S1 )
1823    implicit none
1824    TYPE (complextaylor) cdivt
1825    TYPE (taylor), INTENT (IN) :: S1
1826    complex(dp), INTENT (IN) :: sc
1827    integer localmaster
1828    localmaster=master
1829    call ass(cdivt)
1830
1831    cdivt%r=REAL(sc,kind=DP)/s1
1832    cdivt%i=aimag(sc)/s1
1833    master=localmaster
1834  END FUNCTION cdivt
1835
1836  FUNCTION ctdiv( S1,sc )
1837    implicit none
1838    TYPE (complextaylor) ctdiv
1839    TYPE (taylor), INTENT (IN) :: S1
1840    complex(dp), INTENT (IN) :: sc
1841    complex(dp) w
1842    integer localmaster
1843    localmaster=master
1844    call ass(ctdiv)
1845    w=1.0_dp/sc
1846    ctdiv%r=s1*REAL(w,kind=DP)
1847    ctdiv%i=s1*aimag(w)
1848    master=localmaster
1849  END FUNCTION ctdiv
1850
1851  FUNCTION dscmul( sc,S1 )
1852    implicit none
1853    TYPE (complextaylor) dscmul
1854    TYPE (complextaylor), INTENT (IN) :: S1
1855    real(dp), INTENT (IN) :: sc
1856    integer localmaster
1857    localmaster=master
1858    call ass(dscmul)
1859
1860    dscmul%r=sc*s1%r
1861    dscmul%i=sc*s1%i
1862    master=localmaster
1863
1864  END FUNCTION dscmul
1865
1866  FUNCTION scmul( sc,S1 )
1867    implicit none
1868    TYPE (complextaylor) scmul
1869    TYPE (complextaylor), INTENT (IN) :: S1
1870    real(sp), INTENT (IN) :: sc
1871    integer localmaster
1872    if(real_warning) call real_stop
1873    localmaster=master
1874    call ass(scmul)
1875
1876    scmul%r=sc*s1%r
1877    scmul%i=sc*s1%i
1878    master=localmaster
1879
1880  END FUNCTION scmul
1881
1882  FUNCTION iscmul( sc,S1 )
1883    implicit none
1884    TYPE (complextaylor) iscmul
1885    TYPE (complextaylor), INTENT (IN) :: S1
1886    integer, INTENT (IN) :: sc
1887    integer localmaster
1888    localmaster=master
1889    call ass(iscmul)
1890
1891    iscmul%r=sc*s1%r
1892    iscmul%i=sc*s1%i
1893    master=localmaster
1894
1895  END FUNCTION iscmul
1896
1897
1898  FUNCTION cmulsc( S1,sc )
1899    implicit none
1900    TYPE (complextaylor) cmulsc
1901    TYPE (complextaylor), INTENT (IN) :: S1
1902    complex(dp), INTENT (IN) :: sc
1903    integer localmaster
1904    localmaster=master
1905    call ass(cmulsc)
1906
1907    cmulsc%r=REAL(sc,kind=DP)*s1%r-aimag(sc)*s1%i
1908    cmulsc%i=REAL(sc,kind=DP)*s1%i+aimag(sc)*s1%r
1909    master=localmaster
1910  END FUNCTION cmulsc
1911
1912
1913
1914  FUNCTION dmulsc( S1, sc)
1915    implicit none
1916    TYPE (complextaylor) dmulsc
1917    TYPE (complextaylor), INTENT (IN) :: S1
1918    real(dp), INTENT (IN) :: sc
1919    integer localmaster
1920    localmaster=master
1921    call ass(dmulsc)
1922
1923    dmulsc%r=sc*s1%r
1924    dmulsc%i=sc*s1%i
1925    master=localmaster
1926
1927  END FUNCTION dmulsc
1928
1929  FUNCTION mulsc( S1, sc)
1930    implicit none
1931    TYPE (complextaylor) mulsc
1932    TYPE (complextaylor), INTENT (IN) :: S1
1933    real(sp), INTENT (IN) :: sc
1934    integer localmaster
1935    if(real_warning) call real_stop
1936    localmaster=master
1937    call ass(mulsc)
1938
1939    mulsc%r=sc*s1%r
1940    mulsc%i=sc*s1%i
1941    master=localmaster
1942
1943  END FUNCTION mulsc
1944
1945  FUNCTION imulsc( S1, sc)
1946    implicit none
1947    TYPE (complextaylor) imulsc
1948    TYPE (complextaylor), INTENT (IN) :: S1
1949    integer, INTENT (IN) :: sc
1950    integer localmaster
1951    localmaster=master
1952    call ass(imulsc)
1953
1954    imulsc%r=sc*s1%r
1955    imulsc%i=sc*s1%i
1956    master=localmaster
1957
1958  END FUNCTION imulsc
1959
1960  SUBROUTINE  EQUAL(S2,S1)
1961    implicit none
1962    type (complextaylor),INTENT(inOUT)::S2
1963    type (complextaylor),INTENT(IN)::S1
1964    call check_snake
1965    !    master=0
1966    S2%R=S1%R
1967    S2%I=S1%I
1968
1969  END SUBROUTINE EQUAL
1970
1971  SUBROUTINE  ctEQUAL(S2,S1)
1972    implicit none
1973    type (complextaylor),INTENT(inOUT)::S2
1974    type (taylor),INTENT(IN)::S1
1975    call check_snake
1976
1977    S2%R=S1
1978    S2%I=0.0_dp
1979
1980  END SUBROUTINE ctEQUAL
1981
1982  SUBROUTINE  tcEQUAL(S1,S2)
1983    implicit none
1984    type (complextaylor),INTENT(in)::S2
1985    type (taylor),INTENT(inout)::S1
1986    call check_snake
1987    !    master=0
1988    S1=S2%R
1989
1990  END SUBROUTINE tcEQUAL
1991
1992
1993  SUBROUTINE  CEQUAL(R1,S2)          ! 2002.12.22
1994    implicit none
1995    type (complextaylor),INTENT(IN)::S2
1996    COMPLEX(dp), INTENT(inOUT)::R1
1997    call check_snake
1998
1999    R1=S2.SUB.'0'
2000  END SUBROUTINE CEQUAL
2001
2002  SUBROUTINE  DEQUAL(R1,S2)     ! 2002.12.22
2003    implicit none
2004    type (complextaylor),INTENT(IN)::S2
2005    real(dp), INTENT(inOUT)::R1
2006    call check_snake
2007
2008    R1=S2.SUB.'0'
2009  END SUBROUTINE DEQUAL
2010
2011  SUBROUTINE  REQUAL(R1,S2)   ! 2002.12.22
2012    implicit none
2013    type (complextaylor),INTENT(IN)::S2
2014    REAL(SP), INTENT(inOUT)::R1
2015
2016    if(real_warning) call real_stop
2017    call check_snake
2018
2019    R1=S2.SUB.'0'
2020
2021  END SUBROUTINE REQUAL
2022
2023
2024  SUBROUTINE  CEQUALDACON(S2,R1)
2025    implicit none
2026    type (complextaylor),INTENT(inout)::S2
2027    complex(dp), INTENT(IN)::R1
2028    call check_snake
2029
2030    !    master=0
2031
2032    S2%R=REAL(R1,kind=DP)
2033    S2%I=aimag(R1)
2034
2035  END SUBROUTINE CEQUALDACON
2036
2037  SUBROUTINE  dEQUALDACON(S2,R1)
2038    implicit none
2039    type (complextaylor),INTENT(inout)::S2
2040    real(dp) , INTENT(IN)::R1
2041    call check_snake
2042
2043
2044    S2%R=R1
2045    S2%I=0.0_dp
2046
2047  END SUBROUTINE dEQUALDACON
2048
2049  SUBROUTINE  EQUALDACON(S2,R1)
2050    implicit none
2051    type (complextaylor),INTENT(inout)::S2
2052    real(sp) , INTENT(IN)::R1
2053    if(real_warning) call real_stop
2054
2055    call check_snake
2056
2057    S2%R=REAL(R1,kind=DP)
2058    S2%I=0.0_dp
2059
2060  END SUBROUTINE EQUALDACON
2061
2062  SUBROUTINE  iEQUALDACON(S2,R1)
2063    implicit none
2064    type (complextaylor),INTENT(inout)::S2
2065    integer , INTENT(IN)::R1
2066    call check_snake
2067
2068
2069    S2%R=REAL(R1,kind=DP)
2070    S2%I=0.0_dp
2071
2072  END SUBROUTINE iEQUALDACON
2073
2074  FUNCTION add( S1, S2 )
2075    implicit none
2076    TYPE (complextaylor) add
2077    TYPE (complextaylor), INTENT (IN) :: S1, S2
2078    integer localmaster
2079    localmaster=master
2080    call ass(add)
2081    add%r=s1%r+s2%r
2082    add%i=s1%i+s2%i
2083    master=localmaster
2084  END FUNCTION add
2085
2086  FUNCTION tadd( S1, S2 )
2087    implicit none
2088    TYPE (complextaylor) tadd
2089    TYPE (complextaylor), INTENT (IN) ::  S2
2090    TYPE (taylor), INTENT (IN) :: S1
2091    integer localmaster
2092    localmaster=master
2093    call ass(tadd)
2094    tadd%r=s1+s2%r
2095    tadd%i=s2%i
2096    master=localmaster
2097  END FUNCTION tadd
2098
2099  FUNCTION addt(  S2,S1 )
2100    implicit none
2101    TYPE (complextaylor) addt
2102    TYPE (complextaylor), INTENT (IN) ::  S2
2103    TYPE (taylor), INTENT (IN) :: S1
2104    integer localmaster
2105    localmaster=master
2106    call ass(addt)
2107    addt%r=s1+s2%r
2108    addt%i=s2%i
2109    master=localmaster
2110  END FUNCTION addt
2111
2112  FUNCTION tsub( S1, S2 )
2113    implicit none
2114    TYPE (complextaylor) tsub
2115    TYPE (complextaylor), INTENT (IN) ::  S2
2116    TYPE (taylor), INTENT (IN) :: S1
2117    integer localmaster
2118    localmaster=master
2119    call ass(tsub)
2120    tsub%r=s1-s2%r
2121    tsub%i=-s2%i
2122    master=localmaster
2123  END FUNCTION tsub
2124
2125  FUNCTION subt(  S2,S1 )
2126    implicit none
2127    TYPE (complextaylor) subt
2128    TYPE (complextaylor), INTENT (IN) ::  S2
2129    TYPE (taylor), INTENT (IN) :: S1
2130    integer localmaster
2131    localmaster=master
2132    call ass(subt)
2133    subt%r=s2%r-s1
2134    subt%i=s2%i
2135    master=localmaster
2136  END FUNCTION subt
2137
2138  FUNCTION tmul( S1, S2 )
2139    implicit none
2140    TYPE (complextaylor) tmul
2141    TYPE (complextaylor), INTENT (IN) ::  S2
2142    TYPE (taylor), INTENT (IN) :: S1
2143    integer localmaster
2144    localmaster=master
2145    call ass(tmul)
2146    tmul%r=s1*s2%r
2147    tmul%i=s1*s2%i
2148    master=localmaster
2149  END FUNCTION tmul
2150
2151  FUNCTION mult(  S2,S1 )
2152    implicit none
2153    TYPE (complextaylor) mult
2154    TYPE (complextaylor), INTENT (IN) ::  S2
2155    TYPE (taylor), INTENT (IN) :: S1
2156    integer localmaster
2157    localmaster=master
2158    call ass(mult)
2159    mult%r=s1*s2%r
2160    mult%i=s1*s2%i
2161    master=localmaster
2162  END FUNCTION mult
2163
2164  FUNCTION tdiv( S1, S2 )
2165    implicit none
2166    TYPE (complextaylor) tdiv,temp
2167    TYPE (complextaylor), INTENT (IN) ::  S2
2168    TYPE (taylor), INTENT (IN) :: S1
2169    integer localmaster
2170    localmaster=master
2171    call ass(tdiv)
2172    call alloc(temp)
2173    temp=1.0_dp/s2
2174    tdiv%r=s1*temp%r
2175    tdiv%i=s1*temp%i
2176    master=localmaster
2177    call kill(temp)
2178  END FUNCTION tdiv
2179
2180  FUNCTION divt(S2 , S1 )
2181    implicit none
2182    TYPE (complextaylor) divt
2183    type (taylor) temp
2184    TYPE (complextaylor), INTENT (IN) ::  S2
2185    TYPE (taylor), INTENT (IN) :: S1
2186    integer localmaster
2187    localmaster=master
2188    call ass(divt)
2189    call alloc(temp)
2190    temp=1.0_dp/s1
2191    divt%r=temp*s2%r
2192    divt%i=temp*s2%i
2193    master=localmaster
2194    call kill(temp)
2195  END FUNCTION divt
2196
2197  FUNCTION csubSC( S1,sc )
2198    implicit none
2199    TYPE (complextaylor) csubSC
2200    TYPE (complextaylor), INTENT (IN) :: S1
2201    complex(dp), INTENT (IN) :: sc
2202    integer localmaster
2203    localmaster=master
2204
2205    call ass(csubSC)
2206
2207    csubSC%r=-REAL(sc,kind=DP)+s1%r
2208    csubSC%i=-aimag(sc)+s1%i
2209    master=localmaster
2210  END FUNCTION csubSC
2211
2212  FUNCTION DsubSC(S1,sc)
2213    implicit none
2214    TYPE (complextaylor) DsubSC
2215    TYPE (complextaylor), INTENT (IN) :: S1
2216    real(dp) , INTENT (IN) :: sc
2217    integer localmaster
2218    localmaster=master
2219    call ass(DsubSC)
2220    DsubSC%r=s1%r-sc
2221    DsubSC%i=s1%i
2222    master=localmaster
2223  END FUNCTION DsubSC
2224
2225  FUNCTION subSC(S1,sc)
2226    implicit none
2227    TYPE (complextaylor) subSC
2228    TYPE (complextaylor), INTENT (IN) :: S1
2229    real(sp) , INTENT (IN) :: sc
2230    integer localmaster
2231    if(real_warning) call real_stop
2232    localmaster=master
2233    call ass(subSC)
2234    subSC%r=s1%r-sc
2235    subSC%i=s1%i
2236    master=localmaster
2237  END FUNCTION subSC
2238
2239  FUNCTION isubSC(S1,sc)
2240    implicit none
2241    TYPE (complextaylor) isubSC
2242    TYPE (complextaylor), INTENT (IN) :: S1
2243    integer , INTENT (IN) :: sc
2244    integer localmaster
2245    localmaster=master
2246    call ass(isubSC)
2247    isubSC%r=s1%r-sc
2248    isubSC%i=s1%i
2249    master=localmaster
2250  END FUNCTION isubSC
2251
2252  FUNCTION cSCsub( sc,S1  )
2253    implicit none
2254    TYPE (complextaylor) cSCsub
2255    TYPE (complextaylor), INTENT (IN) :: S1
2256    complex(dp), INTENT (IN) :: sc
2257    integer localmaster
2258    localmaster=master
2259    call ass(cSCsub)
2260
2261    cSCsub%r=REAL(sc,kind=DP)-s1%r
2262    cSCsub%i=aimag(sc)-s1%i
2263    master=localmaster
2264  END FUNCTION cSCsub
2265
2266
2267  FUNCTION DSCsub( sc,S1 )
2268    implicit none
2269    TYPE (complextaylor) DSCsub
2270    TYPE (complextaylor), INTENT (IN) :: S1
2271    real(dp) , INTENT (IN) :: sc
2272    integer localmaster
2273    localmaster=master
2274    call ass(DSCsub)
2275    DSCsub%r=sc-s1%r
2276    DSCsub%i=-s1%i
2277    master=localmaster
2278  END FUNCTION DSCsub
2279
2280  FUNCTION SCsub( sc,S1 )
2281    implicit none
2282    TYPE (complextaylor) SCsub
2283    TYPE (complextaylor), INTENT (IN) :: S1
2284    real(sp) , INTENT (IN) :: sc
2285    integer localmaster
2286    if(real_warning) call real_stop
2287    localmaster=master
2288    call ass(SCsub)
2289    SCsub%r=sc-s1%r
2290    SCsub%i=-s1%i
2291    master=localmaster
2292  END FUNCTION SCsub
2293
2294  FUNCTION iSCsub( sc,S1 )
2295    implicit none
2296    TYPE (complextaylor) iSCsub
2297    TYPE (complextaylor), INTENT (IN) :: S1
2298    integer , INTENT (IN) :: sc
2299    integer localmaster
2300    localmaster=master
2301    call ass(iSCsub)
2302    iSCsub%r=sc-s1%r
2303    iSCsub%i=-s1%i
2304    master=localmaster
2305  END FUNCTION iSCsub
2306
2307  FUNCTION unarysub( S1 )
2308    implicit none
2309    TYPE (complextaylor) unarysub
2310    TYPE (complextaylor), INTENT (IN) :: S1
2311
2312    integer localmaster
2313    localmaster=master
2314    call ass(unarysub)
2315    unarysub%r=-s1%r
2316    unarysub%i=-s1%i
2317    master=localmaster
2318  END FUNCTION unarysub
2319
2320  FUNCTION subs( S1, S2 )
2321    implicit none
2322    TYPE (complextaylor) subs
2323    TYPE (complextaylor), INTENT (IN) :: S1, S2
2324    integer localmaster
2325    localmaster=master
2326    call ass(subs)
2327    subs%r=s1%r-s2%r
2328    subs%i=s1%i-s2%i
2329    master=localmaster
2330  END FUNCTION subs
2331
2332  FUNCTION cSCADD( sc,S1  )
2333    implicit none
2334    TYPE (complextaylor) cSCADD
2335    TYPE (complextaylor), INTENT (IN) :: S1
2336    complex(dp), INTENT (IN) :: sc
2337    integer localmaster
2338    localmaster=master
2339    call ass(cSCADD)
2340
2341    cSCADD%r=REAL(sc,kind=DP)+s1%r
2342    cSCADD%i=aimag(sc)+s1%i
2343    master=localmaster
2344  END FUNCTION cSCADD
2345
2346  FUNCTION cADDSC(  S1,sc )
2347    implicit none
2348    TYPE (complextaylor) cADDSC
2349    TYPE (complextaylor), INTENT (IN) :: S1
2350    complex(dp), INTENT (IN) :: sc
2351    integer localmaster
2352    localmaster=master
2353
2354    call ass(cADDSC)
2355
2356    cADDSC%r=REAL(sc,kind=DP)+s1%r
2357    cADDSC%i=aimag(sc)+s1%i
2358    master=localmaster
2359  END FUNCTION cADDSC
2360
2361  FUNCTION DADDSC( S1, sc )
2362    implicit none
2363    TYPE (complextaylor) DADDSC
2364    TYPE (complextaylor), INTENT (IN) :: S1
2365    real(dp) , INTENT (IN) :: sc
2366    integer localmaster
2367    localmaster=master
2368    call ass(DADDSC)
2369    DADDSC%r=sc+s1%r
2370    DADDSC%i=s1%i
2371    master=localmaster
2372  END FUNCTION DADDSC
2373
2374  FUNCTION ADDSC( S1, sc )
2375    implicit none
2376    TYPE (complextaylor) ADDSC
2377    TYPE (complextaylor), INTENT (IN) :: S1
2378    real(sp) , INTENT (IN) :: sc
2379    integer localmaster
2380    if(real_warning) call real_stop
2381    localmaster=master
2382    call ass(ADDSC)
2383    ADDSC%r=sc+s1%r
2384    ADDSC%i=s1%i
2385    master=localmaster
2386  END FUNCTION ADDSC
2387
2388  FUNCTION iADDSC( S1, sc )
2389    implicit none
2390    TYPE (complextaylor) iADDSC
2391    TYPE (complextaylor), INTENT (IN) :: S1
2392    integer , INTENT (IN) :: sc
2393    integer localmaster
2394    localmaster=master
2395    call ass(iADDSC)
2396    iADDSC%r=sc+s1%r
2397    iADDSC%i=s1%i
2398    master=localmaster
2399  END FUNCTION iADDSC
2400
2401  FUNCTION DSCADD( sc,S1 )
2402    implicit none
2403    TYPE (complextaylor) DSCADD
2404    TYPE (complextaylor), INTENT (IN) :: S1
2405    real(dp) , INTENT (IN) :: sc
2406    integer localmaster
2407    localmaster=master
2408    call ass(DSCADD)
2409    DSCADD%r=sc+s1%r
2410    DSCADD%i=s1%i
2411    master=localmaster
2412  END FUNCTION DSCADD
2413
2414  FUNCTION SCADD( sc,S1 )
2415    implicit none
2416    TYPE (complextaylor) SCADD
2417    TYPE (complextaylor), INTENT (IN) :: S1
2418    real(sp) , INTENT (IN) :: sc
2419    integer localmaster
2420    if(real_warning) call real_stop
2421    localmaster=master
2422    call ass(SCADD)
2423    SCADD%r=sc+s1%r
2424    SCADD%i=s1%i
2425    master=localmaster
2426  END FUNCTION SCADD
2427
2428  FUNCTION iSCADD( sc,S1 )
2429    implicit none
2430    TYPE (complextaylor) iSCADD
2431    TYPE (complextaylor), INTENT (IN) :: S1
2432    integer , INTENT (IN) :: sc
2433    integer localmaster
2434    localmaster=master
2435    call ass(iSCADD)
2436    iSCADD%r=sc+s1%r
2437    iSCADD%i=s1%i
2438    master=localmaster
2439  END FUNCTION iSCADD
2440
2441  FUNCTION unaryADD( S1 )
2442    implicit none
2443    TYPE (complextaylor) unaryADD
2444    TYPE (complextaylor), INTENT (IN) :: S1
2445    integer localmaster
2446    localmaster=master
2447    call ass(unaryADD)
2448    unaryADD%r=s1%r
2449    unaryADD%i=s1%i
2450    master=localmaster
2451  END FUNCTION unaryADD
2452
2453  subroutine inv( S1, s2 )
2454    implicit none
2455    TYPE (complextaylor), INTENT (IN) :: S1
2456    TYPE (complextaylor), INTENT (inout) :: S2
2457    TYPE (complextaylor)  s,ss
2458    complex(dp) d1
2459    real(dp) r1 ,i1
2460    integer i
2461
2462    call alloc(s)
2463    call alloc(ss)
2464
2465
2466    r1=s1%r.sub.'0'
2467    i1=s1%i.sub.'0'
2468    s=s1
2469    d1=cmplx(r1,i1,kind=dp)
2470    d1=1.0_dp/d1
2471
2472    s=d1*s1
2473
2474    s=s-1.0_dp
2475    s=(-1.0_dp)*s
2476
2477    ss=cmplx(1.0_dp,0.0_dp,kind=dp)
2478    s2=cmplx(1.0_dp,0.0_dp,kind=dp)
2479
2480    do i=1,no
2481       ss=ss*s
2482       s2=s2+ss
2483    enddo
2484
2485    s2=d1*s2
2486
2487    call kill(s)
2488    call kill(ss)
2489  END subroutine inv
2490
2491  FUNCTION logtpsat( S1 )
2492    implicit none
2493    TYPE (complextaylor) logtpsat
2494    TYPE (complextaylor), INTENT (IN) :: S1
2495    integer localmaster
2496    localmaster=master
2497
2498    call ass(logtpsat)
2499
2500    call logtpsa(s1,logtpsat)
2501    master=localmaster
2502  END FUNCTION logtpsat
2503
2504  subroutine logtpsa( S1, s2 )
2505    implicit none
2506    TYPE (complextaylor) S1
2507    TYPE (complextaylor)  S2
2508    TYPE (complextaylor)  s,ss
2509    complex(dp) d1
2510    real(dp) r1 ,i1
2511    integer i
2512
2513
2514    call alloc(s)
2515    call alloc(ss)
2516
2517    r1=s1%r.sub.'0'
2518    i1=s1%i.sub.'0'
2519
2520    d1=cmplx(r1,i1,kind=dp)
2521    s=(1.0_dp/d1)*s1-1.0_dp
2522
2523    s2=s
2524
2525
2526    ss=s
2527
2528    do i=2,no
2529       ss=cmplx(-1.0_dp,0.0_dp,kind=dp)*ss*s
2530       s2=s2+ss/REAL(i,kind=DP)
2531    enddo
2532
2533    s2=log(d1)+s2
2534
2535    call kill(s)
2536    call kill(ss)
2537  END subroutine logtpsa
2538
2539  FUNCTION full_abstpsat( S1 )
2540    implicit none
2541    real(dp) full_abstpsat ,r1,r2
2542    TYPE (complextaylor), INTENT (IN) :: S1
2543
2544
2545    r1=full_abs(s1%r) ! 2002.10.17
2546    r2=full_abs(s1%i)
2547    full_abstpsat=r1+r2
2548    !abstpsat=SQRT((s1%r.sub.'0')**2+(s1%i.sub.'0')**2)
2549
2550  END FUNCTION full_abstpsat
2551
2552  FUNCTION abstpsat( S1 )
2553    implicit none
2554    real(dp) abstpsat ,r1,r2
2555    TYPE (complextaylor), INTENT (IN) :: S1
2556
2557    r1=abs(s1%r) ! 2002.10.17    etienne crap
2558    r2=abs(s1%i)
2559    abstpsat=SQRT(r1**2+r2**2)
2560
2561  END FUNCTION abstpsat
2562
2563  FUNCTION dcmplxt( S1,s2 )
2564    implicit none
2565    TYPE (complextaylor) dcmplxt
2566    TYPE (taylor), INTENT (IN) :: S1,s2
2567    integer localmaster
2568    localmaster=master
2569
2570    call ass(dcmplxt)
2571
2572    dcmplxt%r=s1
2573    dcmplxt%i=s2
2574
2575    master=localmaster
2576  END FUNCTION dcmplxt
2577
2578  FUNCTION datant( S1 )
2579    implicit none
2580    TYPE (complextaylor) datant,temp
2581    TYPE (complextaylor), INTENT (IN) :: S1
2582    integer localmaster
2583    localmaster=master
2584
2585    call ass(datant)
2586    call alloc(temp)
2587
2588    temp=(1.0_dp+s1*i_)
2589
2590    temp=temp/(1.0_dp-s1*i_)
2591
2592    temp=log(temp)
2593    datant=temp/2.0_dp/i_
2594
2595    call kill(temp)
2596
2597    master=localmaster
2598  END FUNCTION datant
2599
2600  FUNCTION datantt( S1 )
2601    implicit none
2602    TYPE (taylor) datantt
2603    TYPE (complextaylor) temp
2604    TYPE (taylor), INTENT (IN) :: S1
2605    integer localmaster
2606    localmaster=master
2607
2608    call ass(datantt)
2609    call alloc(temp)
2610
2611    temp%r=s1
2612    temp=atan(temp)
2613    datantt=temp%r
2614    call kill(temp)
2615
2616    master=localmaster
2617  END FUNCTION datantt
2618
2619  FUNCTION dasintt( S1 )
2620    implicit none
2621    TYPE (taylor) dasintt
2622    TYPE (complextaylor) temp
2623    TYPE (taylor), INTENT (IN) :: S1
2624    integer localmaster
2625    real(dp) a0
2626    localmaster=master
2627    call ass(dasintt)
2628    call alloc(temp)
2629
2630    temp%r=s1
2631    a0=abs(temp%r)
2632    if(a0>1.0_dp) then
2633       check_stable=.false.
2634       stable_da=.false.
2635       messagelost= " Not defined in dasintt of complex_taylor "
2636    endif
2637
2638    temp=asin(temp)
2639    dasintt=temp%r
2640    call kill(temp)
2641
2642    master=localmaster
2643  END FUNCTION dasintt
2644
2645  FUNCTION dasint( S1 )
2646    implicit none
2647    TYPE (complextaylor) dasint,temp
2648    TYPE (complextaylor), INTENT (IN) :: S1
2649    integer localmaster
2650    localmaster=master
2651
2652    call ass(dasint)
2653    call alloc(temp)
2654
2655    temp=(1.0_dp-s1**2)
2656    temp=temp**(0.5_dp)
2657
2658    temp=i_*s1+ temp
2659    dasint=-i_*log(temp)
2660
2661    call kill(temp)
2662
2663    master=localmaster
2664  END FUNCTION dasint
2665
2666
2667
2668
2669  FUNCTION dacostt( S1 )
2670    implicit none
2671    TYPE (taylor) dacostt
2672    TYPE (complextaylor) temp
2673    TYPE (taylor), INTENT (IN) :: S1
2674    TYPE (taylor) t
2675    integer localmaster
2676    real(dp) a0
2677    localmaster=master
2678
2679    call ass(dacostt)
2680    call alloc(temp)
2681    call alloc(t)
2682
2683    a0=abs(s1)
2684    if(a0>1.0_dp) then
2685       check_stable=.false.
2686       stable_da=.false.
2687       messagelost= " Not defined in dacostt of complex_taylor "
2688    endif
2689
2690    !   if(debug_flag) then
2691    !    if(debug_acos) then
2692    temp%r=s1
2693    temp=acos(temp)
2694    !    else
2695    !     temp=-one+s1**2
2696    !     temp=temp**(half)
2697
2698    !      temp=(s1+ temp)
2699    !      temp=-i_*log(temp)
2700    !     endif
2701    !    else
2702    !     t=sqrt(one-s1**2)
2703
2704    !     temp=(s1+ i_*t)
2705    !     temp=-i_*log(temp)
2706    !    endif
2707    !   call print(temp%r,10)
2708    dacostt=temp%r
2709
2710    call kill(t)
2711    call kill(temp)
2712
2713    master=localmaster
2714  END FUNCTION dacostt
2715
2716
2717
2718  FUNCTION dacost( S1 )
2719    implicit none
2720    TYPE (complextaylor) dacost,temp
2721    TYPE (complextaylor), INTENT (IN) :: S1
2722    integer localmaster
2723    localmaster=master
2724
2725    call ass(dacost)
2726    call alloc(temp)
2727
2728    temp=1.0_dp-s1**2
2729    temp=temp**(0.5_dp)
2730
2731    temp=(s1+ i_*temp)
2732    dacost=-i_*log(temp)
2733
2734    call kill(temp)
2735
2736    master=localmaster
2737  END FUNCTION dacost
2738
2739
2740
2741
2742  FUNCTION tant( S1 )
2743    implicit none
2744    TYPE (complextaylor) tant, temp
2745    TYPE (complextaylor), INTENT (IN) :: S1
2746    integer localmaster
2747    localmaster=master
2748
2749
2750    call ass(tant)
2751
2752    call alloc(temp)
2753
2754    temp=exp(i_*s1)
2755    temp=temp-exp(-i_*s1)
2756    tant=exp(i_*s1)
2757    tant=tant+exp(-i_*s1)
2758    tant=temp/tant/i_
2759
2760    call kill(temp)
2761
2762    master=localmaster
2763  END FUNCTION tant
2764
2765  FUNCTION dtanht( S1 )
2766    implicit none
2767    TYPE (complextaylor) dtanht, temp
2768    TYPE (complextaylor), INTENT (IN) :: S1
2769    integer localmaster
2770    localmaster=master
2771
2772
2773    call ass(dtanht)
2774
2775    call alloc(temp)
2776
2777    temp=exp(s1)
2778    temp=temp-exp(-s1)
2779    dtanht=exp(s1)
2780    dtanht=dtanht+exp(-s1)
2781    dtanht=temp/dtanht
2782
2783    call kill(temp)
2784
2785    master=localmaster
2786  END FUNCTION dtanht
2787
2788  FUNCTION dcost( S1 )
2789    implicit none
2790    TYPE (complextaylor) dcost
2791    TYPE (complextaylor), INTENT (IN) :: S1
2792    integer localmaster
2793    localmaster=master
2794
2795
2796    call ass(dcost)
2797
2798    dcost=exp(i_*s1)
2799    dcost=dcost+exp(-i_*s1)
2800    dcost=dcost/2.0_dp
2801
2802    master=localmaster
2803  END FUNCTION dcost
2804
2805  FUNCTION dcosht( S1 )
2806    implicit none
2807    TYPE (complextaylor) dcosht
2808    TYPE (complextaylor), INTENT (IN) :: S1
2809    integer localmaster
2810    localmaster=master
2811
2812
2813    call ass(dcosht)
2814
2815    dcosht=exp(s1)
2816    dcosht=dcosht+exp(-s1)
2817    dcosht=dcosht/2.0_dp
2818
2819    master=localmaster
2820  END FUNCTION dcosht
2821
2822
2823  FUNCTION dsint( S1 )
2824    implicit none
2825    TYPE (complextaylor) dsint
2826    TYPE (complextaylor), INTENT (IN) :: S1
2827    integer localmaster
2828    localmaster=master
2829
2830
2831    call ass(dsint)
2832
2833    dsint=exp(i_*s1)
2834    dsint=dsint-exp(-i_*s1)
2835    dsint=dsint/2.0_dp/i_
2836
2837    master=localmaster
2838  END FUNCTION dsint
2839
2840  FUNCTION dsinht( S1 )
2841    implicit none
2842    TYPE (complextaylor) dsinht
2843    TYPE (complextaylor), INTENT (IN) :: S1
2844    integer localmaster
2845    localmaster=master
2846
2847
2848    call ass(dsinht)
2849
2850    dsinht=exp(s1)
2851    dsinht=dsinht-exp(-s1)
2852    dsinht=dsinht/2.0_dp
2853
2854    master=localmaster
2855  END FUNCTION dsinht
2856
2857
2858  FUNCTION exptpsat( S1 )
2859    implicit none
2860    TYPE (complextaylor) exptpsat
2861    TYPE (complextaylor), INTENT (IN) :: S1
2862    integer localmaster
2863    localmaster=master
2864
2865
2866    call ass(exptpsat)
2867    call exptpsa(s1,exptpsat)
2868    master=localmaster
2869  END FUNCTION exptpsat
2870
2871  FUNCTION dsqrtt( S1 )
2872    implicit none
2873    TYPE (complextaylor) dsqrtt
2874    TYPE (complextaylor), INTENT (IN) :: S1
2875    integer localmaster
2876    localmaster=master
2877
2878
2879    call ass(dsqrtt)
2880    dsqrtt= S1**0.5_dp
2881
2882    master=localmaster
2883  END FUNCTION dsqrtt
2884
2885  subroutine exptpsa( S1, s2 )
2886    implicit none
2887    TYPE (complextaylor), INTENT (IN) :: S1
2888    TYPE (complextaylor), INTENT (inout) :: S2
2889    TYPE (complextaylor)  s,ss
2890    complex(dp) d1
2891    real(dp) r1 ,i1
2892    integer i
2893    call alloc(s)
2894    call alloc(ss)
2895
2896
2897    r1=s1%r.sub.'0'
2898    i1=s1%i.sub.'0'
2899
2900    d1=cmplx(r1,i1,kind=dp)
2901    s=s1
2902
2903    s=s1-d1
2904
2905
2906    ss=cmplx(1.0_dp,0.0_dp,kind=dp)
2907    s2=cmplx(1.0_dp,0.0_dp,kind=dp)
2908
2909    do i=1,no
2910       ss=ss*s
2911       ss=ss/REAL(i,kind=DP)
2912       s2=s2+ss
2913    enddo
2914
2915    s2=exp(d1)*s2
2916
2917    call kill(s)
2918    call kill(ss)
2919
2920  END subroutine exptpsa
2921
2922  subroutine assc(s1)
2923    implicit none
2924    TYPE (complextaylor) s1
2925    !  lastmaster=master  ! 2002.12.13
2926
2927    select case(master)
2928    case(0:ndumt-1)
2929       master=master+1
2930    case(ndumt)
2931       w_p=0
2932       w_p%nc=1
2933       w_p=(/" cannot indent anymore "/)
2934       w_p%fc='(1((1X,A72),/))'
2935       ! call !write_e(100)
2936    end select
2937    !    write(26,*) " complex  taylor ",master
2938
2939    call ass0(s1%r)
2940    call ass0(s1%i)
2941
2942
2943  end subroutine ASSc
2944
2945
2946
2947  subroutine KILL_TPSA()
2948    IMPLICIT NONE
2949    logical present_tpsa
2950
2951    present_tpsa=lingyun_yang
2952    !    if(.not.first_time) then
2953    if(last_tpsa==1) then
2954       lingyun_yang=.true.
2955       call KILL(varc1)
2956       call KILL(varc2)
2957       CALL KILL_fpp   ! IN TPSALIE_ANALISYS
2958    elseif(last_tpsa==2) then
2959       lingyun_yang=.false.
2960       call KILL(varc1)
2961       call KILL(varc2)
2962       CALL KILL_fpp   ! IN TPSALIE_ANALISYS
2963    endif
2964    lingyun_yang=default_tpsa
2965    last_tpsa=0
2966    !    endif
2967    !    first_time=.true.
2968
2969  END subroutine KILL_TPSA
2970
2971  subroutine init_map_c(NO1,ND1,NP1,NDPT1,log)
2972    implicit none
2973    integer NO1,ND1,NP1,NDPT1
2974    LOGICAL(lp) log,present_tpsa
2975    present_tpsa=lingyun_yang
2976    !    if(.not.first_time) then
2977    if(last_tpsa==1) then
2978       lingyun_yang=.true.
2979       call kill(varc1)
2980       call kill(varc2)
2981    elseif(last_tpsa==2) then
2982       lingyun_yang=.false.
2983       call kill(varc1)
2984       call kill(varc2)
2985    endif
2986    lingyun_yang=present_tpsa
2987    !    endif
2988
2989    call init_map(NO1,ND1,NP1,NDPT1,log)
2990    call set_in_complex(log)
2991    call alloc(varc1)
2992    call alloc(varc2)
2993
2994  end subroutine  init_map_c
2995
2996  subroutine init_tpsa_c(NO1,NP1,log)
2997    implicit none
2998    integer NO1,NP1
2999    LOGICAL(lp) log,present_tpsa
3000    present_tpsa=lingyun_yang
3001    !    if(.not.first_time) then
3002    if(last_tpsa==1) then
3003       lingyun_yang=.true.
3004       call kill(varc1)
3005       call kill(varc2)
3006    elseif(last_tpsa==2) then
3007       lingyun_yang=.false.
3008       call kill(varc1)
3009       call kill(varc2)
3010    endif
3011    lingyun_yang=present_tpsa
3012    !    endif
3013    call init_tpsa(NO1,NP1,log)
3014    call set_in_complex(log)
3015    call alloc(varc1)
3016    call alloc(varc2)
3017
3018  end subroutine  init_tpsa_c
3019
3020
3021  subroutine set_in_complex(log)
3022    implicit none
3023    logical(lp) log
3024    integer iia(4),icoast(4)
3025    call liepeek(iia,icoast)
3026    old=log
3027    NO=iia(1)
3028    ND=iia(3)
3029    ND2=iia(3)*2
3030    NP=iia(2)-nd2
3031    NDPT=icoast(4)
3032    NV=iia(2)
3033    !    i_ =cmplx(zero,one,kind=dp)
3034  end  subroutine set_in_complex
3035
3036  !  SUBROUTINE  VARcC(S1,R1,R2,I1,I2)
3037  !    implicit none
3038  !    INTEGER,INTENT(IN)::I1,I2
3039  !    complex(dp),INTENT(IN)::R1
3040  !    complex(dp),INTENT(IN)::R2                ! big change
3041  !    type (complextaylor),INTENT(INOUT)::S1
3042  !    integer localmaster
3043  !    localmaster=master
3044  !
3045  !      s1=r1+r2*((one.mono.i1) + i_*    (one.mono.i2) )
3046  !!     s1%r=(/REAL(R1,kind=DP),R2/).var.i1
3047  !!     s1%i=(/aimag(R1),R2/).var.i2
3048  !!    call var001(s1%r,REAL(R1,kind=DP),R2,i1)
3049  !!    call var001(s1%i,aimag(R1),R2,i2)
3050  !    master=localmaster
3051  !
3052  !
3053  !
3054  !  END SUBROUTINE VARcC
3055  !
3056  !  SUBROUTINE  VARc(S1,R1,I1,I2)
3057  !    implicit none
3058  !    INTEGER,INTENT(IN)::I1,I2
3059  !    complex(dp),INTENT(IN)::R1
3060  !    type (complextaylor),INTENT(INOUT)::S1
3061  !
3062  !    integer localmaster
3063  !    localmaster=master
3064  !
3065  !     s1%r=REAL(R1,kind=DP).var.i1
3066  !     s1%i=aimag(R1).var.i2
3067  !!    call var000(s1%r,REAL(R1,kind=DP),i1)
3068  !!    call var000(s1%i,aimag(R1),i2)
3069  !    master=localmaster
3070  !
3071  !
3072  !  END SUBROUTINE VARc
3073
3074
3075  !  SUBROUTINE  shiftc(S1,S2,s)
3076  !    implicit none
3077  !    INTEGER,INTENT(IN)::s
3078  !    type (complextaylor),INTENT(IN)::S1
3079  !    type (complextaylor),INTENT(inout)::S2
3080  !
3081  !    call shift000(S1%r,S2%r,s)
3082  !    call shift000(S1%i,S2%i,s)
3083
3084  !  END SUBROUTINE shiftc
3085
3086  FUNCTION GETintk( S1, S2 )
3087    implicit none
3088    TYPE (complextaylor) GETintk
3089    TYPE (complextaylor), INTENT (IN) :: S1
3090    integer  , INTENT (IN) ::  S2
3091
3092    integer localmaster
3093    localmaster=master
3094
3095    call ass(GETintk)
3096
3097    GETintk%r=S1%r<=s2
3098    GETintk%i=S1%i<=s2
3099
3100    !    call  shiftda(GETintk,GETintk, s2 )
3101
3102    master=localmaster
3103
3104
3105  END FUNCTION GETintk
3106
3107
3108
3109  SUBROUTINE  pekc(S1,J,R1)
3110    implicit none
3111    INTEGER,INTENT(IN),dimension(:)::j
3112    complex(dp),INTENT(inout)::R1
3113    type (complextaylor),INTENT(IN)::S1
3114    real(dp) xr,xi
3115
3116    call pek000(s1%r,j,xr)
3117    call pek000(s1%i,j,xi)
3118
3119    r1=cmplx(xr,xi,kind=dp)
3120
3121  END SUBROUTINE pekc
3122
3123
3124  SUBROUTINE  pokc(S1,J,R1)
3125    implicit none
3126    INTEGER,INTENT(in),dimension(:)::j
3127    complex(dp),INTENT(in)::R1
3128    type (complextaylor),INTENT(inout)::S1
3129
3130    call pok000(s1%r,J,REAL(r1,kind=DP))
3131    call pok000(s1%i,J,aimag(r1))
3132  END SUBROUTINE pokc
3133
3134  SUBROUTINE  CFUC(S2,FUN,S1)!
3135    implicit none
3136    type (complextaylor),INTENT(INOUT)::S1
3137    type (complextaylor),INTENT(IN)::S2
3138    type (complextaylor) T
3139    type (taylor) W
3140    complex(dp) FUN
3141    EXTERNAL FUN
3142    CALL ALLOC(T)
3143    CALL ALLOC(W)
3144
3145    CALL CFUR(S2%R,FUN,W)
3146    T%R=W
3147    CALL CFUI(S2%I,FUN,W)
3148    T%R=T%R-W
3149    CALL CFUR(S2%I,FUN,W)
3150    T%I=W
3151    CALL CFUI(S2%R,FUN,W)
3152    T%I=T%I+W
3153    S1=T
3154    CALL KILL(T)
3155    CALL KILL(W)
3156
3157  END SUBROUTINE CFUC
3158
3159  SUBROUTINE  CFURES(S2,FUN,S1)!
3160    implicit none
3161    type (pbresonance),INTENT(INOUT)::S1
3162    type (pbresonance),INTENT(IN)::S2
3163    type (complextaylor) T
3164    type (taylor) W
3165    complex(dp) FUN
3166    EXTERNAL FUN
3167    CALL ALLOC(T)
3168    CALL ALLOC(W)
3169
3170    CALL CFUR(S2%COS%H,FUN,W)
3171    T%R=W
3172    CALL CFUI(S2%SIN%H,FUN,W)
3173    T%R=T%R-W
3174    CALL CFUR(S2%SIN%H,FUN,W)
3175    T%I=W
3176    CALL CFUI(S2%COS%H,FUN,W)
3177    T%I=T%I+W
3178    S1%COS%H=T%R
3179    S1%SIN%H=T%I
3180    CALL KILL(T)
3181    CALL KILL(W)
3182
3183  END SUBROUTINE CFURES
3184
3185
3186end module  complex_taylor
Note: See TracBrowser for help on using the repository browser.