MAMMA  1.0
Conduitsolver
complexify.f90
Go to the documentation of this file.
1 !******************************************************************************
2 ! Written for 'complexify.py 1.3'
3 ! J.R.R.A.Martins 1999
4 ! 21-Apr-00 Fixed tan, sinh, cosh
5 ! sign now returns complex
6 ! added log10 and nint
7 ! changed ==, /= and >= -- see comments below
8 ! 20-May-00 added cosd, sind, and epsilon
9 ! 11-Jul-00 took away cosd, sind (they are reserved, but not
10 ! intrinsic functions in F90)
11 ! 21-Jul-00 converted all trig functions to the value/derivative
12 ! formulas -- not general complex number formulas
13 ! 15-Aug-00 Fixed bug in atan2 formula and added the rest of the
14 ! _ci and _ic cominations to the relational operators.
15 ! P. Sturdza
16 !
17 !******************************************************************************
18 !
19 ! Assume all code is compiled with double precision (-r8 compiler flag)
20 !
21 
22 !TODO:
23 ! more typ combinations: cc, cr, rc, ic ?
24 ! check all fcns
25 !
26 
27 module complexify
28 
29  implicit none
30 
31 ! ABS
32  interface abs
33  module procedure abs_c
34  end interface
35 
36 ! COSD
37 ! interface cosd
38 ! module procedure cosd_c
39 ! end interface
40 
41 ! ACOS
42  interface acos
43  module procedure acos_c
44  end interface
45 
46 ! SIND
47 ! interface sind
48 ! module procedure sind_c
49 ! end interface
50 
51 ! ASIN
52  interface asin
53  module procedure asin_c
54  end interface
55 
56 ! ATAN
57  interface atan
58  module procedure atan_c
59  end interface
60 
61 ! ATAN2
62  interface atan2
63  module procedure atan2_cc
64  end interface
65 
66 ! COSH
67  interface cosh
68  module procedure cosh_c
69  end interface
70 
71 ! MAX (limited to 2-4 complex args, 2 mixed args)
72  interface max
73  module procedure max_cc
74  module procedure max_cr
75  module procedure max_rc
76  module procedure max_ccc ! added because of DFLUX.f
77  module procedure max_cccc ! added because of DFLUX.f
78  end interface
79 
80 ! MIN (limited to 2-4 complex args, 2 mixed args)
81  interface min
82  module procedure min_cc
83  module procedure min_cr
84  module procedure min_rc
85  module procedure min_ccc
86  module procedure min_cccc
87  end interface
88 
89 ! SIGN
90  interface sign
91  module procedure sign_cc
92  module procedure sign_cr
93  module procedure sign_rc
94  end interface
95 
96 ! DIM
97  interface dim
98  module procedure dim_cc
99  module procedure dim_cr
100  module procedure dim_rc
101  end interface
102 
103 ! SINH
104  interface sinh
105  module procedure sinh_c
106  end interface
107 
108 ! TAN
109  interface tan
110  module procedure tan_c
111  end interface
112 
113 ! TANH
114  interface tanh
115  module procedure tanh_c
116  end interface
117 
118 ! LOG10
119  interface log10
120  module procedure log10_c
121  end interface
122 
123 ! NINT
124  interface nint
125  module procedure nint_c
126  end interface
127 
128 ! EPSILON
129  interface epsilon
130  module procedure epsilon_c
131  end interface
132 
133 ! <
134  interface operator (<)
135  module procedure lt_cc
136  module procedure lt_cr
137  module procedure lt_rc
138  module procedure lt_ci
139  module procedure lt_ic
140  end interface
141 
142 ! <=
143  interface operator (<=)
144  module procedure le_cc
145  module procedure le_cr
146  module procedure le_rc
147  module procedure le_ci
148  module procedure le_ic
149  end interface
150 
151 ! >
152  interface operator (>)
153  module procedure gt_cc
154  module procedure gt_cr
155  module procedure gt_rc
156  module procedure gt_ci
157  module procedure gt_ic
158  end interface
159 
160 !! MIPSpro Compilers: Version 7.30 won't take .ge. and .eq..
161 !! But pgf90 on Linux doesn't complain, go figure.
162 !! It looks like a strict interpretation of FORTRAN should
163 !! not allow overloading of .eq. and .ne. since they already
164 !! have a definition for type complex, so define new operators
165 !! called .ceq., .cne. and, for MIPS, .cge.
166 !!
167 !! comment out (and uncomment) the appropriate versions for
168 !! your compiler
169 !!
170 ! >=
171  interface operator (>=)
172  module procedure ge_cc
173  module procedure ge_cr
174  module procedure ge_rc
175  module procedure ge_ci
176  module procedure ge_ic
177  end interface
178 ! interface operator (.cge.)
179 ! module procedure ge_cc
180 ! module procedure ge_rr
181 ! module procedure ge_ii
182 ! module procedure ge_aa
183 ! module procedure ge_cr
184 ! module procedure ge_rc
185 ! module procedure ge_ci
186 ! module procedure ge_ic
187 ! module procedure ge_ir
188 ! module procedure ge_ri
189 ! end interface
190 
191 ! ==
192 ! interface operator (==)
193 ! module procedure eq_cc
194 ! module procedure eq_cr
195 ! module procedure eq_rc
196 ! module procedure eq_ci
197 ! module procedure eq_ic
198 ! end interface
199  interface operator (.ceq.)
200  module procedure eq_cc
201  module procedure eq_rr
202  module procedure eq_ii
203  module procedure eq_aa
204  module procedure eq_cr
205  module procedure eq_rc
206  module procedure eq_ci
207  module procedure eq_ic
208  module procedure eq_ir
209  module procedure eq_ri
210  end interface
211 
212 ! /=
213 ! interface operator (/=)
214 ! module procedure ne_cc
215 ! module procedure ne_cr
216 ! module procedure ne_rc
217 ! module procedure ne_ci
218 ! module procedure ne_ic
219 ! end interface
220  interface operator (.cne.)
221  module procedure ne_cc
222  module procedure ne_rr
223  module procedure ne_ii
224  module procedure ne_aa
225  module procedure ne_cr
226  module procedure ne_rc
227  module procedure ne_ci
228  module procedure ne_ic
229  module procedure ne_ir
230  module procedure ne_ri
231  end interface
232 
233 contains
234 
235 !******************************************************************************
236 !
237 ! Function definitions
238 !
239 !******************************************************************************
240 
241 ! ABS, intrinsic
242  complex*16 function abs_c(val)
243  complex*16, intent(in) :: val
244  abs_c = val
245  if (dble(val) < 0) abs_c = dcmplx(-dble(val),-dimag(val))
246  return
247  end function abs_c
248 
249 ! ACOS
250  complex*16 function acos_c(z)
251  complex*16, intent(in) :: z
252 
253  acos_c = dcmplx(dacos(dble(z)),-dimag(z)/dsqrt(1.-dble(z)**2))
254 
255  return
256  end function acos_c
257 
258 ! ASIN
259  complex*16 function asin_c(z)
260  complex*16, intent(in) :: z
261 
262  asin_c = dcmplx(dasin(dble(z)),dimag(z)/dsqrt(1.-dble(z)**2))
263 
264  return
265  end function asin_c
266 
267 ! ATAN
268  complex*16 function atan_c(z)
269  complex*16, intent(in) :: z
270 
271  atan_c = dcmplx(datan(dble(z)),dimag(z)/(1.+dble(z)**2))
272 
273  return
274  end function atan_c
275 
276 ! ATAN2
277  complex*16 function atan2_cc(csn, ccs)
278  complex*16, intent(in) :: csn, ccs
279  real*8 a,b,c,d
280 
281  a=dble(csn)
282  b=dimag(csn)
283  c=dble(ccs)
284  d=dimag(ccs)
285  atan2_cc=dcmplx(datan2(a,c),(c*b-a*d)/(a**2+c**2))
286 
287  return
288  end function atan2_cc
289 
290 ! COSH
291  complex*16 function cosh_c(z)
292  complex*16, intent(in) :: z
293 
294  cosh_c = dcmplx(cosh(dble(z)),dimag(z)*sinh(dble(z)))
295 
296  return
297  end function cosh_c
298 
299 ! SINH
300  complex*16 function sinh_c(z)
301  complex*16, intent(in) :: z
302 
303  sinh_c = dcmplx(sinh(dble(z)),dimag(z)*cosh(dble(z)))
304 
305  return
306  end function sinh_c
307 
308 ! TAN
309  complex*16 function tan_c(z)
310  complex*16, intent(in) :: z
311 
312  tan_c = dcmplx(dtan(dble(z)),dimag(z)/dcos(dble(z))**2)
313 
314  return
315  end function tan_c
316 
317 ! TANH
318  complex*16 function tanh_c(a)
319  complex*16, intent(in) :: a
320 
321  tanh_c = dcmplx(tanh(dble(a)),dimag(a)/cosh(dble(a))**2)
322 
323  return
324  end function tanh_c
325 
326 ! MAX, intrinsic
327  complex*16 function max_cc(val1, val2)
328  complex*16, intent(in) :: val1, val2
329  if (dble(val1) > dble(val2)) then
330  max_cc = val1
331  else
332  max_cc = val2
333  endif
334  return
335  end function max_cc
336 
337  complex*16 function max_cr(val1, val2)
338  complex*16, intent(in) :: val1
339  real*8, intent(in) :: val2
340  if (dble(val1) > val2) then
341  max_cr = val1
342  else
343  max_cr = dcmplx(val2, 0.)
344  endif
345  return
346  end function max_cr
347 
348  complex*16 function max_rc(val1, val2)
349  real*8, intent(in) :: val1
350  complex*16, intent(in) :: val2
351  if (val1 > dble(val2)) then
352  max_rc = dcmplx(val1, 0.)
353  else
354  max_rc = val2
355  endif
356  return
357  end function max_rc
358 
359  complex*16 function max_ccc(val1, val2, val3)
360  complex*16, intent(in) :: val1, val2, val3
361  if (dble(val1) > dble(val2)) then
362  max_ccc = val1
363  else
364  max_ccc = val2
365  endif
366  if (dble(val3) > dble(max_ccc)) then
367  max_ccc = val3
368  endif
369  return
370  end function max_ccc
371 
372  function max_cccc(val1, val2, val3, val4)
373  complex*16, intent(in) :: val1, val2, val3, val4
374  complex*16 max_cccc
375  complex*16 max_cccc2
376  if (dble(val1) > dble(val2)) then
377  max_cccc = val1
378  else
379  max_cccc = val2
380  endif
381  if (dble(val3) > dble(val4)) then
382  max_cccc2 = val3
383  else
384  max_cccc2 = val4
385  endif
386  if (dble(max_cccc2) > dble(max_cccc)) then
387  max_cccc = max_cccc2
388  endif
389  return
390  end function max_cccc
391 
392 ! MIN, intrinsic
393  complex*16 function min_cc(val1, val2)
394  complex*16, intent(in) :: val1, val2
395  if (dble(val1) < dble(val2)) then
396  min_cc = val1
397  else
398  min_cc = val2
399  endif
400  return
401  end function min_cc
402 
403  complex*16 function min_cr(val1, val2)
404  complex*16, intent(in) :: val1
405  real*8, intent(in) :: val2
406  if (dble(val1) < val2) then
407  min_cr = val1
408  else
409  min_cr = dcmplx(val2, 0.)
410  endif
411  return
412  end function min_cr
413 
414  complex*16 function min_rc(val1, val2)
415  real*8, intent(in) :: val1
416  complex*16, intent(in) :: val2
417  if (val1 < dble(val2)) then
418  min_rc = dcmplx(val1, 0.)
419  else
420  min_rc = val2
421  endif
422  return
423  end function min_rc
424 
425  complex*16 function min_ccc(val1, val2, val3)
427  complex*16, intent(in) :: val1, val2, val3
428  if (dble(val1) < dble(val2)) then
429  min_ccc = val1
430  else
431  min_ccc = val2
432  endif
433  if (dble(val3) < dble(min_ccc)) then
434  min_ccc = val3
435  endif
436  return
437  end function min_ccc
438 
439  function min_cccc(val1, val2, val3, val4)
440  complex*16, intent(in) :: val1, val2, val3, val4
441  complex*16 min_cccc
442  complex*16 min_cccc2
443  if (dble(val1) < dble(val2)) then
444  min_cccc = val1
445  else
446  min_cccc = val2
447  endif
448  if (dble(val3) < dble(val4)) then
449  min_cccc2 = val3
450  else
451  min_cccc2 = val4
452  endif
453  if (dble(min_cccc2) < dble(min_cccc)) then
454  min_cccc = min_cccc2
455  endif
456  return
457  end function min_cccc
458 
459 
460 ! SIGN, intrinsic, assume that val1 is always a complex*16
461 ! in reality could be int
462  complex*16 function sign_cc(val1, val2)
463  complex*16, intent(in) :: val1, val2
464  real*8 sign
465  if (dble(val2) < 0.) then
466  sign = -1.
467  else
468  sign = 1.
469  endif
470  sign_cc = sign * val1
471  return
472  end function sign_cc
473 
474  complex*16 function sign_cr(val1, val2)
475  complex*16, intent(in) :: val1
476  real*8, intent(in) :: val2
477  real*8 sign
478  if (dble(val2) < 0.) then
479  sign = -1.
480  else
481  sign = 1.
482  endif
483  sign_cr = sign * val1
484  return
485  end function sign_cr
486 
487  complex*16 function sign_rc(val1, val2)
488  real*8, intent(in) :: val1
489  complex*16, intent(in) :: val2
490  real*8 sign
491  if (dble(val2) < 0.) then
492  sign = -1.
493  else
494  sign = 1.
495  endif
496  sign_rc = sign * val1
497  return
498  end function sign_rc
499 
500 ! DIM, intrinsic
501  complex*16 function dim_cc(val1, val2)
502  complex*16, intent(in) :: val1, val2
503  if (val1 > val2) then
504  dim_cc = val1 - val2
505  else
506  dim_cc = dcmplx(0., 0.)
507  endif
508  return
509  end function dim_cc
510 
511  complex*16 function dim_cr(val1, val2)
512  complex*16, intent(in) :: val1
513  real*8, intent(in) :: val2
514  if (val1 > val2) then
515  dim_cr = val1 - dcmplx(val2, 0.)
516  else
517  dim_cr = dcmplx(0., 0.)
518  endif
519  return
520  end function dim_cr
521 
522  complex*16 function dim_rc(val1, val2)
523  real*8, intent(in) :: val1
524  complex*16, intent(in) :: val2
525  if (val1 > val2) then
526  dim_rc = dcmplx(val1, 0.) - val2
527  else
528  dim_rc = dcmplx(0., 0.)
529  endif
530  return
531  end function dim_rc
532 
533 ! LOG10
534  complex*16 function log10_c(z)
535  complex*16, intent(in) :: z
536  log10_c=log(z)/log((10.0,0.0))
537  end function log10_c
538 
539 ! NINT
540  integer function nint_c(z)
541  complex*16, intent(in) :: z
542  nint_c=nint(dble(z))
543  end function nint_c
544 
545 ! EPSILON !! bad news ulness compiled with -r8
546  complex*16 function epsilon_c(z)
547  complex*16, intent(in) :: z
548  epsilon_c=epsilon(dble(z))
549  end function epsilon_c
550 
551 ! <, .lt.
552  logical function lt_cc(lhs, rhs)
553  complex*16, intent(in) :: lhs, rhs
554  lt_cc = dble(lhs) < dble(rhs)
555  end function lt_cc
556  logical function lt_cr(lhs, rhs)
557  complex*16, intent(in) :: lhs
558  real*8, intent(in) :: rhs
559  lt_cr = dble(lhs) < rhs
560  end function lt_cr
561  logical function lt_rc(lhs, rhs)
562  real*8, intent(in) :: lhs
563  complex*16, intent(in) :: rhs
564  lt_rc = lhs < dble(rhs)
565  end function lt_rc
566  logical function lt_ci(lhs, rhs)
567  complex*16, intent(in) :: lhs
568  integer, intent(in) :: rhs
569  lt_ci = dble(lhs) < rhs
570  end function lt_ci
571  logical function lt_ic(lhs, rhs)
572  integer, intent(in) :: lhs
573  complex*16, intent(in) :: rhs
574  lt_ic = lhs < dble(rhs)
575  end function lt_ic
576 
577 ! <=, .le.
578  logical function le_cc(lhs, rhs)
579  complex*16, intent(in) :: lhs, rhs
580  le_cc = dble(lhs) <= dble(rhs)
581  end function le_cc
582  logical function le_cr(lhs, rhs)
583  complex*16, intent(in) :: lhs
584  real*8, intent(in) :: rhs
585  le_cr = dble(lhs) <= rhs
586  end function le_cr
587  logical function le_rc(lhs, rhs)
588  real*8, intent(in) :: lhs
589  complex*16, intent(in) :: rhs
590  le_rc = lhs <= dble(rhs)
591  end function le_rc
592  logical function le_ci(lhs, rhs)
593  complex*16, intent(in) :: lhs
594  integer, intent(in) :: rhs
595  le_ci = dble(lhs) <= rhs
596  end function le_ci
597  logical function le_ic(lhs, rhs)
598  integer, intent(in) :: lhs
599  complex*16, intent(in) :: rhs
600  le_ic = lhs <= dble(rhs)
601  end function le_ic
602 
603 ! >, .gt.
604  logical function gt_cc(lhs, rhs)
605  complex*16, intent(in) :: lhs, rhs
606  gt_cc = dble(lhs) > dble(rhs)
607  end function gt_cc
608  logical function gt_cr(lhs, rhs)
609  complex*16, intent(in) :: lhs
610  real*8, intent(in) :: rhs
611  gt_cr = dble(lhs) > rhs
612  end function gt_cr
613  logical function gt_rc(lhs, rhs)
614  real*8, intent(in) :: lhs
615  complex*16, intent(in) :: rhs
616  gt_rc = lhs > dble(rhs)
617  end function gt_rc
618  logical function gt_ci(lhs, rhs)
619  complex*16, intent(in) :: lhs
620  integer, intent(in) :: rhs
621  gt_ci = dble(lhs) > rhs
622  end function gt_ci
623  logical function gt_ic(lhs, rhs)
624  integer, intent(in) :: lhs
625  complex*16, intent(in) :: rhs
626  gt_ic = lhs > dble(rhs)
627  end function gt_ic
628 
629 !! here are the redefined ones:
630 ! >=, .ge.
631  logical function ge_cc(lhs, rhs)
632  complex*16, intent(in) :: lhs, rhs
633  ge_cc = dble(lhs) >= dble(rhs)
634  end function ge_cc
635  logical function ge_rr(lhs, rhs)
636  real*8, intent(in) :: lhs, rhs
637  ge_rr = lhs >= rhs
638  end function ge_rr
639  logical function ge_ii(lhs, rhs)
640  integer, intent(in) :: lhs, rhs
641  ge_ii = lhs >= rhs
642  end function ge_ii
643  logical function ge_aa(lhs, rhs)
644  character(len=*), intent(in) :: lhs, rhs
645  ge_aa = lhs >= rhs
646  end function ge_aa
647  logical function ge_cr(lhs, rhs)
648  complex*16, intent(in) :: lhs
649  real*8, intent(in) :: rhs
650  ge_cr = dble(lhs) >= rhs
651  end function ge_cr
652  logical function ge_rc(lhs, rhs)
653  real*8, intent(in) :: lhs
654  complex*16, intent(in) :: rhs
655  ge_rc = lhs >= dble(rhs)
656  end function ge_rc
657  logical function ge_ci(lhs, rhs)
658  complex*16, intent(in) :: lhs
659  integer, intent(in) :: rhs
660  ge_ci = dble(lhs) >= rhs
661  end function ge_ci
662  logical function ge_ic(lhs, rhs)
663  integer, intent(in) :: lhs
664  complex*16, intent(in) :: rhs
665  ge_ic = lhs >= dble(rhs)
666  end function ge_ic
667  logical function ge_ir(lhs, rhs)
668  integer, intent(in) :: lhs
669  real*8, intent(in) :: rhs
670  ge_ir = lhs >= rhs
671  end function ge_ir
672  logical function ge_ri(lhs, rhs)
673  real*8, intent(in) :: lhs
674  integer, intent(in) :: rhs
675  ge_ri = lhs >= rhs
676  end function ge_ri
677 
678 ! ==, .eq.
679  logical function eq_cc(lhs, rhs)
680  complex*16, intent(in) :: lhs, rhs
681  eq_cc = dble(lhs) == dble(rhs)
682  end function eq_cc
683  logical function eq_rr(lhs, rhs)
684  real*8, intent(in) :: lhs, rhs
685  eq_rr = lhs == rhs
686  end function eq_rr
687  logical function eq_ii(lhs, rhs)
688  integer, intent(in) :: lhs, rhs
689  eq_ii = lhs == rhs
690  end function eq_ii
691  logical function eq_aa(lhs, rhs)
692  character(len=*), intent(in) :: lhs, rhs
693  eq_aa = lhs == rhs
694  end function eq_aa
695  logical function eq_cr(lhs, rhs)
696  complex*16, intent(in) :: lhs
697  real*8, intent(in) :: rhs
698  eq_cr = dble(lhs) == rhs
699  end function eq_cr
700  logical function eq_rc(lhs, rhs)
701  real*8, intent(in) :: lhs
702  complex*16, intent(in) :: rhs
703  eq_rc = lhs == dble(rhs)
704  end function eq_rc
705  logical function eq_ci(lhs, rhs)
706  complex*16, intent(in) :: lhs
707  integer, intent(in) :: rhs
708  eq_ci = dble(lhs) == rhs
709  end function eq_ci
710  logical function eq_ic(lhs, rhs)
711  integer, intent(in) :: lhs
712  complex*16, intent(in) :: rhs
713  eq_ic = lhs == dble(rhs)
714  end function eq_ic
715  logical function eq_ir(lhs, rhs)
716  integer, intent(in) :: lhs
717  real*8, intent(in) :: rhs
718  eq_ir = lhs == rhs
719  end function eq_ir
720  logical function eq_ri(lhs, rhs)
721  real*8, intent(in) :: lhs
722  integer, intent(in) :: rhs
723  eq_ri = lhs == rhs
724  end function eq_ri
725 
726 ! /=, .ne.
727  logical function ne_cc(lhs, rhs)
728  complex*16, intent(in) :: lhs, rhs
729  ne_cc = dble(lhs) /= dble(rhs)
730  end function ne_cc
731  logical function ne_rr(lhs, rhs)
732  real*8, intent(in) :: lhs, rhs
733  ne_rr = lhs /= rhs
734  end function ne_rr
735  logical function ne_ii(lhs, rhs)
736  integer, intent(in) :: lhs, rhs
737  ne_ii = lhs /= rhs
738  end function ne_ii
739  logical function ne_aa(lhs, rhs)
740  character(len=*), intent(in) :: lhs, rhs
741  ne_aa = lhs /= rhs
742  end function ne_aa
743  logical function ne_cr(lhs, rhs)
744  complex*16, intent(in) :: lhs
745  real*8, intent(in) :: rhs
746  ne_cr = dble(lhs) /= rhs
747  end function ne_cr
748  logical function ne_rc(lhs, rhs)
749  real*8, intent(in) :: lhs
750  complex*16, intent(in) :: rhs
751  ne_rc = lhs /= dble(rhs)
752  end function ne_rc
753  logical function ne_ci(lhs, rhs)
754  complex*16, intent(in) :: lhs
755  integer, intent(in) :: rhs
756  ne_ci = dble(lhs) /= rhs
757  end function ne_ci
758  logical function ne_ic(lhs, rhs)
759  integer, intent(in) :: lhs
760  complex*16, intent(in) :: rhs
761  ne_ic = lhs /= dble(rhs)
762  end function ne_ic
763  logical function ne_ir(lhs, rhs)
764  integer, intent(in) :: lhs
765  real*8, intent(in) :: rhs
766  ne_ir = lhs /= rhs
767  end function ne_ir
768  logical function ne_ri(lhs, rhs)
769  real*8, intent(in) :: lhs
770  integer, intent(in) :: rhs
771  ne_ri = lhs /= rhs
772  end function ne_ri
773 
774 end module complexify
complex *16 function max_ccc(val1, val2, val3)
Definition: complexify.f90:360
logical function ge_cc(lhs, rhs)
Definition: complexify.f90:632
logical function eq_ii(lhs, rhs)
Definition: complexify.f90:688
logical function le_ic(lhs, rhs)
Definition: complexify.f90:598
logical function eq_cc(lhs, rhs)
Definition: complexify.f90:680
complex *16 function max_cc(val1, val2)
Definition: complexify.f90:328
logical function lt_rc(lhs, rhs)
Definition: complexify.f90:562
complex *16 function sinh_c(z)
Definition: complexify.f90:301
logical function eq_ci(lhs, rhs)
Definition: complexify.f90:706
logical function ne_ii(lhs, rhs)
Definition: complexify.f90:736
logical function ne_aa(lhs, rhs)
Definition: complexify.f90:740
complex *16 function atan2_cc(csn, ccs)
Definition: complexify.f90:278
logical function lt_ic(lhs, rhs)
Definition: complexify.f90:572
logical function ge_ir(lhs, rhs)
Definition: complexify.f90:668
logical function gt_ic(lhs, rhs)
Definition: complexify.f90:624
complex *16 function min_cr(val1, val2)
Definition: complexify.f90:404
logical function ge_aa(lhs, rhs)
Definition: complexify.f90:644
complex *16 function min_rc(val1, val2)
Definition: complexify.f90:415
logical function gt_cc(lhs, rhs)
Definition: complexify.f90:605
complex *16 function dim_cr(val1, val2)
Definition: complexify.f90:512
logical function eq_rc(lhs, rhs)
Definition: complexify.f90:701
integer function nint_c(z)
Definition: complexify.f90:541
logical function ne_ic(lhs, rhs)
Definition: complexify.f90:759
complex *16 function max_cr(val1, val2)
Definition: complexify.f90:338
complex *16 function sign_rc(val1, val2)
Definition: complexify.f90:488
complex *16 function min_cccc(val1, val2, val3, val4)
Definition: complexify.f90:440
logical function eq_ic(lhs, rhs)
Definition: complexify.f90:711
logical function le_ci(lhs, rhs)
Definition: complexify.f90:593
logical function gt_cr(lhs, rhs)
Definition: complexify.f90:609
complex *16 function tanh_c(a)
Definition: complexify.f90:319
logical function eq_ri(lhs, rhs)
Definition: complexify.f90:721
complex *16 function log10_c(z)
Definition: complexify.f90:535
complex *16 function dim_cc(val1, val2)
Definition: complexify.f90:502
logical function ge_cr(lhs, rhs)
Definition: complexify.f90:648
logical function ge_ri(lhs, rhs)
Definition: complexify.f90:673
logical function ne_cc(lhs, rhs)
Definition: complexify.f90:728
logical function ne_ci(lhs, rhs)
Definition: complexify.f90:754
complex *16 function sign_cc(val1, val2)
Definition: complexify.f90:463
logical function eq_rr(lhs, rhs)
Definition: complexify.f90:684
complex *16 function acos_c(z)
Definition: complexify.f90:251
logical function gt_rc(lhs, rhs)
Definition: complexify.f90:614
complex *16 function sign_cr(val1, val2)
Definition: complexify.f90:475
logical function ge_ic(lhs, rhs)
Definition: complexify.f90:663
logical function ne_rc(lhs, rhs)
Definition: complexify.f90:749
complex *16 function min_cc(val1, val2)
Definition: complexify.f90:394
logical function ne_cr(lhs, rhs)
Definition: complexify.f90:744
logical function ge_rr(lhs, rhs)
Definition: complexify.f90:636
logical function ge_ci(lhs, rhs)
Definition: complexify.f90:658
logical function ne_ri(lhs, rhs)
Definition: complexify.f90:769
logical function le_cr(lhs, rhs)
Definition: complexify.f90:583
logical function ne_rr(lhs, rhs)
Definition: complexify.f90:732
complex *16 function asin_c(z)
Definition: complexify.f90:260
logical function ne_ir(lhs, rhs)
Definition: complexify.f90:764
logical function ge_ii(lhs, rhs)
Definition: complexify.f90:640
logical function lt_cc(lhs, rhs)
Definition: complexify.f90:553
logical function le_rc(lhs, rhs)
Definition: complexify.f90:588
complex *16 function max_rc(val1, val2)
Definition: complexify.f90:349
logical function gt_ci(lhs, rhs)
Definition: complexify.f90:619
complex *16 function min_ccc(val1, val2, val3)
Definition: complexify.f90:426
logical function ge_rc(lhs, rhs)
Definition: complexify.f90:653
complex *16 function abs_c(val)
Definition: complexify.f90:243
logical function le_cc(lhs, rhs)
Definition: complexify.f90:579
complex *16 function cosh_c(z)
Definition: complexify.f90:292
complex *16 function atan_c(z)
Definition: complexify.f90:269
logical function eq_ir(lhs, rhs)
Definition: complexify.f90:716
complex *16 function dim_rc(val1, val2)
Definition: complexify.f90:523
complex *16 function epsilon_c(z)
Definition: complexify.f90:547
complex *16 function tan_c(z)
Definition: complexify.f90:310
complex *16 function max_cccc(val1, val2, val3, val4)
Definition: complexify.f90:373
logical function eq_aa(lhs, rhs)
Definition: complexify.f90:692
logical function lt_ci(lhs, rhs)
Definition: complexify.f90:567
logical function lt_cr(lhs, rhs)
Definition: complexify.f90:557
logical function eq_cr(lhs, rhs)
Definition: complexify.f90:696