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

NAME
     std::isnormal - std::isnormal

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

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

	1)  Determines if the given floating point number num is normal, i.e. is
     neither
	zero, subnormal, infinite, nor 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 is normal, 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::isnormal(num) has the same effect as std::isnormal(static_cast<dou-
     ble>(num)).

Example
     // Run this code

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

      int main()
      {
	  std::cout << std::boolalpha
		    << "isnormal(NaN) = " << std::isnormal(NAN) << '\n'
		    << "isnormal(Inf) = " << std::isnormal(INFINITY) << '\n'
		    << "isnormal(0.0) = " << std::isnormal(0.0) << '\n'
		    <<	"isnormal(DBL_MIN/2.0)	=  "  << std::isnormal(DBL_MIN /
     2.0) << '\n'
		    << "isnormal(1.0) = " << std::isnormal(1.0) << '\n';
      }

Output:
      isnormal(NaN) = false
      isnormal(Inf) = false
      isnormal(0.0) = false
      isnormal(DBL_MIN/2.0) = false
      isnormal(1.0) = true

See also
	fpclassify categorizes the given floating-point value
	(C++11)    (function)
	isfinite   checks if the given number has finite 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)
	C documentation for
	isnormal

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

home | help