isfinite, _finite, _finitef

Determines whether a floating-point value is finite.

Syntax

int isfinite(
   /* floating-point */ x
); /* C-only macro */

template <class FloatingType>
inline bool isfinite(
   FloatingType x
) throw(); /* C++-only template function */

int _finite(
   double x
);

int _finitef(
   float x
); /* x64 and ARM/ARM64 only */

Parameters

x
The floating-point value to test.

Return value

The isfinite macro and the _finite and _finitef functions return a non-zero value if x is either a normal or subnormal finite value. They return 0 if the argument is infinite or a NaN. The C++ inline template function isfinite behaves the same way, but returns true or false.

Remarks

isfinite is a macro when compiled as C, and an inline template function when compiled as C++. The _finite and _finitef functions are Microsoft-specific. The _finitef function is only available when compiled for x86, ARM, or ARM64 platforms.

Requirements

Function Required header (C) Required header (C++)
_finite <float.h> or <math.h> <float.h>, <math.h>, <cfloat>, or <cmath>
isfinite, _finitef <math.h> <math.h> or <cmath>

For more compatibility information, see Compatibility.

See also

Math and floating-point support
fpclassify
_fpclass, _fpclassf
isinf
isnan, _isnan, _isnanf
isnormal