GNU Octave 10.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 
Loading...
Searching...
No Matches
cuchk.f
Go to the documentation of this file.
1 SUBROUTINE cuchk(Y, NZ, ASCLE, TOL)
2C***BEGIN PROLOGUE CUCHK
3C***REFER TO CSERI,CUOIK,CUNK1,CUNK2,CUNI1,CUNI2,CKSCL
4C
5C Y ENTERS AS A SCALED QUANTITY WHOSE MAGNITUDE IS GREATER THAN
6C EXP(-ALIM)=ASCLE=1.0E+3*R1MACH(1)/TOL. THE TEST IS MADE TO SEE
7C IF THE MAGNITUDE OF THE REAL OR IMAGINARY PART WOULD UNDER FLOW
8C WHEN Y IS SCALED (BY TOL) TO ITS PROPER VALUE. Y IS ACCEPTED
9C IF THE UNDERFLOW IS AT LEAST ONE PRECISION BELOW THE MAGNITUDE
10C OF THE LARGEST COMPONENT; OTHERWISE THE PHASE ANGLE DOES NOT HAVE
11C ABSOLUTE ACCURACY AND AN UNDERFLOW IS ASSUMED.
12C
13C***ROUTINES CALLED (NONE)
14C***END PROLOGUE CUCHK
15C
16 COMPLEX Y
17 REAL ASCLE, SS, ST, TOL, YR, YI
18 INTEGER NZ
19 nz = 0
20 yr = real(y)
21 yi = aimag(y)
22 yr = abs(yr)
23 yi = abs(yi)
24 st = amin1(yr,yi)
25 IF (st.GT.ascle) RETURN
26 ss = amax1(yr,yi)
27 st=st/tol
28 IF (ss.LT.st) nz = 1
29 RETURN
30 END
subroutine cuchk(y, nz, ascle, tol)
Definition cuchk.f:2
ColumnVector real(const ComplexColumnVector &a)