GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::fpclassify(3) C++ Standard Libary std::fpclassify(3)

std::fpclassify - std::fpclassify


Defined in header <cmath>
int fpclassify( float arg ); (1) (since C++11)
(constexpr since C++23)
int fpclassify( double arg ); (2) (since C++11)
(constexpr since C++23)
int fpclassify( long double arg ); (3) (since C++11)
(constexpr since C++23)
int fpclassify( IntegralType arg ); (4) (since C++11)
(constexpr since C++23)


1-3) Categorizes floating point value arg into the following categories: zero,
subnormal, normal, infinite, NAN, or implementation-defined category.
4) A set of overloads or a function template accepting the arg argument of any
integral type. Equivalent to (2) (the argument is cast to double).


arg - floating point value


one of FP_INFINITE, FP_NAN, FP_NORMAL, FP_SUBNORMAL, FP_ZERO or
implementation-defined type, specifying the category of arg.

// Run this code


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


const char* show_classification(double x) {
switch(std::fpclassify(x)) {
case FP_INFINITE: return "Inf";
case FP_NAN: return "NaN";
case FP_NORMAL: return "normal";
case FP_SUBNORMAL: return "subnormal";
case FP_ZERO: return "zero";
default: return "unknown";
}
}
int main()
{
std::cout << "1.0/0.0 is " << show_classification(1/0.0) << '\n'
<< "0.0/0.0 is " << show_classification(0.0/0.0) << '\n'
<< "DBL_MIN/2 is " << show_classification(DBL_MIN/2) << '\n'
<< "-0.0 is " << show_classification(-0.0) << '\n'
<< "1.0 is " << show_classification(1.0) << '\n';
}


1.0/0.0 is Inf
0.0/0.0 is NaN
DBL_MIN/2 is subnormal
-0.0 is zero
1.0 is normal


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)
isnormal checks if the given number is normal
(C++11) (function)
provides an interface to query properties of all fundamental numeric
numeric_limits types.
(class template)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.