Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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 );				       (const-
       expr 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 inte-
       ger type,
	  std::isnormal(num)  has  the	same  effect   as   std::isnormal(sta-
       tic_cast<double>(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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::isnormal&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help