FINITE Function
Returns a value indicating if the input variable is finite or not.
Usage
Input Parameters
x—A scalar or array expression of single-precision complex, double-precision complex, single-precision floating point, or double-precision floating point data type.
Returned Value
result—Returns 1 if x is finite. Returns 0 if x is infinite or not a defined number (NaN). Undefined numbers result from ill-defined operations, such as dividing zero by zero, or taking the logarithm of zero or a negative number.
Keywords
None.
Example 1
x = [100, SQRT(-1), ALOG(0), 99.9] PM, x ; On UNIX systems, PV-WAVE prints: ; 100.000 ; NaN ; -Inf ; 99.9000 ; On Windows systems, PV-WAVE prints: ; 100.000 ; -1.#IND0 ; -1.#INF0 ; 99.9000 PM, FINITE(x) ; PV-WAVE prints: ; 1 ; 0 ; 0 ; 1
Example 2
; Note: This example requires PV-WAVE Advantage. ; Get the single-precision, floating-point machine constants. MATH_INIT fmach = MACHINE(/Float) ; Create a five-element vector containing single-precision, ; floating-point NaN, positive infinity, negative infinity, and ; finite values. a = [fmach.nan, 3.0, fmach.pos_inf, 5.2, fmach.neg_inf] b = FINITE(a) ; View result of FINITE. INFO, b ; PV-WAVE prints: B BYTE = Array(5) ; Print vectors a and b. Note that vector b contains a 0 ; when NaN or infinity occurs in a. Vector b contains 1 at ; the indices where vector a contains finite values. FOR i=0L, 4 DO PRINT, a(i), b(i) ; On UNIX systems, PV-WAVE prints: ; NaN 0 ; 3.00000 1 ; Inf 0 ; 5.20000 1 ; -Inf 0 ; On Windows systems, PV-WAVE prints: ; 1.#QNAN 0 ; 3.00000 1 ; 1.#INF0 0 ; 5.20000 1 ; -1.#INF0 0
See Also
CHECK_MATH, ON_ERROR, ON_IOERROR
For more details, see PV‑WAVE Programmer’s Guide.