GNU Octave 10.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 
Loading...
Searching...
No Matches
xzabs.f
Go to the documentation of this file.
1 DOUBLE PRECISION FUNCTION xzabs(ZR, ZI)
2C***BEGIN PROLOGUE XZABS
3C***REFER TO ZBESH,ZBESI,ZBESJ,ZBESK,ZBESY,ZAIRY,ZBIRY
4C
5C XZABS COMPUTES THE ABSOLUTE VALUE OR MAGNITUDE OF A DOUBLE
6C PRECISION COMPLEX VARIABLE CMPLX(ZR,ZI)
7C
8C***ROUTINES CALLED (NONE)
9C***END PROLOGUE XZABS
10 DOUBLE PRECISION zr, zi, u, v, q, s
11 u = dabs(zr)
12 v = dabs(zi)
13 s = u + v
14C-----------------------------------------------------------------------
15C S*1.0D0 MAKES AN UNNORMALIZED UNDERFLOW ON CDC MACHINES INTO A
16C TRUE FLOATING ZERO
17C-----------------------------------------------------------------------
18 s = s*1.0d+0
19 IF (s.EQ.0.0d+0) GO TO 20
20 IF (u.GT.v) GO TO 10
21 q = u/v
22 xzabs = v*dsqrt(1.d+0+q*q)
23 RETURN
24 10 q = v/u
25 xzabs = u*dsqrt(1.d+0+q*q)
26 RETURN
27 20 xzabs = 0.0d+0
28 RETURN
29 END
double precision function xzabs(zr, zi)
Definition xzabs.f:2