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::numeric_limits::quiet_NaN(3) C++ Standard Libary std::numeric_limits::quiet_NaN(3)

std::numeric_limits::quiet_NaN - std::numeric_limits::quiet_NaN


static T quiet_NaN() throw(); (until C++11)
static constexpr T quiet_NaN() noexcept; (since C++11)


Returns the special value "quiet not-a-number", as represented by the floating-point
type T. Only meaningful if std::numeric_limits<T>::has_quiet_NaN == true. In IEEE
754, the most common binary representation of floating-point numbers, any value with
all bits of the exponent set and at least one bit of the fraction set represents a
NaN. It is implementation-defined which values of the fraction represent quiet or
signaling NaNs, and whether the sign bit is meaningful.


T std::numeric_limits<T>::quiet_NaN()
/* non-specialized */ T()
bool false
char 0
signed char 0
unsigned char 0
wchar_t 0
char8_t (C++20) 0
char16_t (C++11) 0
char32_t (C++11) 0
short 0
unsigned short 0
int 0
unsigned int 0
long 0
unsigned long 0
long long (C++11) 0
unsigned long long (C++11) 0
float implementation-defined (may be NAN)
double implementation-defined
long double implementation-defined


A NaN never compares equal to itself. Copying a NaN may not preserve its bit
representation.


Several ways to generate a NaN (the output string is compiler-specific)

// Run this code


#include <iostream>
#include <limits>
#include <cmath>


int main()
{
std::cout << std::numeric_limits<double>::quiet_NaN() << ' ' // nan
<< std::numeric_limits<double>::signaling_NaN() << ' ' // nan
<< std::acos(2) << ' ' // nan
<< std::tgamma(-1) << ' ' // nan
<< std::log(-1) << ' ' // nan
<< std::sqrt(-1) << ' ' // -nan
<< 0 / 0.0 << '\n'; // -nan


std::cout << "NaN == NaN? " << std::boolalpha
<< ( std::numeric_limits<double>::quiet_NaN() ==
std::numeric_limits<double>::quiet_NaN() ) << '\n';
}


nan nan nan nan nan -nan -nan
NaN == NaN? false


has_quiet_NaN identifies floating-point types that can represent the special value
[static] "quiet not-a-number" (NaN)
(public static member constant)
signaling_NaN returns a signaling NaN value of the given floating-point type
[static] (public static member function)
nan
nanf
nanl not-a-number (NaN)
(C++11) (function)
(C++11)
(C++11)
isnan checks if the given number is NaN
(C++11) (function)

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.