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

FreeBSD Manual Pages

  
 
  

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

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

home | help