The FINITE function identifies whether or not a given argument is finite.
Result = FINITE( X [, /INFINITY] [, /NAN] [, SIGN=value])
Returns 1 (True) if its argument is finite. If the argument is infinite or not a defined number (NaN), the FINITE function returns 0 (False). The result is a byte expression of the same structure as the argument X.
| Note |
A floating-point, double-precision, or complex scalar or array expression. Strings are first converted to floating-point. This function is meaningless for byte, integer, or longword arguments.
Set this keyword to cause FINITE to return True if the X argument is the IEEE special floating-point value Infinity (either positive or negative), or False otherwise.
Set this keyword to cause FINITE to return True if the X argument is the IEEE special floating-point value "Not A Number" (NaN), or False otherwise.
If the INFINITY or NAN keyword is set, then set this keyword to one of the following values:
If neither the INFINITY nor NAN keyword is set, then this keyword is ignored.
This routine is written to make use of IDL's thread pool, which can increase execution speed on systems with multiple CPUs. The values stored in the
To find out if the logarithm of 5.0 is finite, enter:
PRINT, FINITE(ALOG(5.0))
IDL prints "1" because the argument is finite.
To determine which elements of an array are infinity or NaN (Not a Number) values:
A = FLTARR(10) ; Set some values to +/-NaN and positive or negative Infinity: A[3] =!VALUES.F_NAN A[4] = -!VALUES.F_NAN A[6] =!VALUES.F_INFINITY A[7] = -!VALUES.F_INFINITY
Find the location of values in A that are positive or negative
Infinity: PRINT, WHERE(FINITE(A, /INFINITY))
IDL prints:
6 7
Find the location of values in A that are NaN:
PRINT, WHERE(FINITE(A, /NAN))
IDL prints:
3 4
Find the location of values in A that are negative Infinity:
PRINT, WHERE(FINITE(A, /INFINITY, SIGN=-1))
IDL prints:
7
Find the location of values in A that are +NaN:
PRINT, WHERE(FINITE(A, /NAN, SIGN=1))
IDL prints:
3
| Note |
Introduced: Original
CHECK_MATH, MACHAR, !VALUES, Special Floating-Point Values.