Share via


fpclassify

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at fpclassify.

Returns the floating-point classification of the argument.

Syntax

int fpclassify(   
   /* floating-point */ x   
);  
  
int fpclassify(   
   float x   
); // C++ only  
  
int fpclassify(   
   double x   
); // C++ only  
  
int fpclassify(   
   long double x   
); // C++ only  
  

Parameters

x
The floating-point value to test.

Return Value

fpclassify returns an integer value that indicates the floating-point class of the argument x. This table shows the possible values returned by fpclassify, defined in <math.h>.

Value Description
FP_NAN A quiet, signaling, or indeterminate NaN
FP_INFINITE A positive or negative infinity
FP_NORMAL A positive or negative normalized non-zero value
FP_SUBNORMAL A positive or negative denormalized value
FP_ZERO A positive or negative zero value

Remarks

In C, fpclassify is a macro; in C++, fpclassify is a function overloaded using argument types of float, double, or long double. In either case, the value returned depends on the effective type of the argument expression, and not on any intermediate representation. For example, a normal double or long double value can become an infinity, denormal, or zero value when converted to a float.

Requirements

Function/Macro Required header (C) Required header (C++)
fpclassify <math.h> <math.h> or <cmath>

The fpclassify macro and fpclassify functions conform to the C99 and C++11 specifications. For more compatibility information, see Compatibility.

See Also

Floating-Point Support
isnan, _isnan, _isnanf