home | help
std::isfinite(3)	       C++ Standard Libary		std::isfinite(3)

NAME
     std::isfinite - std::isfinite

Synopsis
	Defined in header <cmath>
	bool isfinite( float num );
								     (since
     C++11)
	bool  isfinite(  double  num  );				  (until
     C++23)

	bool isfinite( long double num );
	constexpr bool isfinite(  /*  floating-point-type  */	 (1)	  (since
     C++23)
	num );
	Additional overloads
	Defined in header <cmath>
	template<  class  Integer  >				     (A)  (since
     C++11)
	bool isfinite( Integer num );				      (constexpr
     since C++23)

	1)  Determines	if  the given floating point number num has finite value
     i.e. it is
	normal, subnormal or zero, but not infinite or NaN.
	The library provides overloads	for  all  cv-unqualified  floating-point
     types as the
	type of the parameter num.
	(since C++23)
	A)  Additional	overloads  are provided for all integer types, which are
     treated as
	double.

Parameters
	num - floating-point or integer value

Return value
	true if num has finite value, false otherwise.

Notes
	The additional overloads are not required to be provided exactly as (A).
     They only
	need to be sufficient to ensure that for their argument num  of  integer
     type,
	std::isfinite(num) has the same effect as std::isfinite(static_cast<dou-
     ble>(num)).

Examples
     // Run this code

      #include <cfloat>
      #include <cmath>
      #include <iostream>

      int main()
      {
	  std::cout << std::boolalpha
		    << "isfinite(NaN) = " << std::isfinite(NAN) << '\n'
		    << "isfinite(Inf) = " << std::isfinite(INFINITY) << '\n'
		    << "isfinite(-Inf) = " << std::isfinite(-INFINITY) << '\n'
		    <<	"isfinite(HUGE_VAL)  =	"  << std::isfinite(HUGE_VAL) <<
     '\n'
		    << "isfinite(0.0) = " << std::isfinite(0.0) << '\n'
		    << "isfinite(exp(800)) = "	<<  std::isfinite(std::exp(800))
     << '\n'
		    <<	"isfinite(DBL_MIN/2.0)	=  "  << std::isfinite(DBL_MIN /
     2.0) << '\n';
      }

Output:
      isfinite(NaN) = false
      isfinite(Inf) = false
      isfinite(-Inf) = false
      isfinite(HUGE_VAL) = false
      isfinite(0.0) = true
      isfinite(exp(800)) = false
      isfinite(DBL_MIN/2.0) = true

See also
	fpclassify categorizes the given floating-point value
	(C++11)    (function)
	isinf	   checks if the given number is infinite
	(C++11)    (function)
	isnan	   checks if the given number is NaN
	(C++11)    (function)
	isnormal   checks if the given number is normal
	(C++11)    (function)
	C documentation for
	isfinite

http://cppreference.com 	   2024.06.10			std::isfinite(3)

home | help