[#BloombergLP-bdlb-Float-isSignalingNan-01] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlb.adoc[bdlb]::xref:BloombergLP/bdlb/Float.adoc[Float]::isSignalingNan :relfileprefix: ../../../ :mrdocs: `isSignalingNan` overloads == Synopses Declared in `<bdlb_float.h>` Return `true` if `number` is a signaling NaN, and `false` otherwise. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- static bool xref:BloombergLP/bdlb/Float/isSignalingNan-07.adoc[isSignalingNan](double number); ---- [.small]#xref:BloombergLP/bdlb/Float/isSignalingNan-07.adoc[_» more..._]# Return `true` if the specified floating point `number` has an invalid value, and `false` otherwise. An invalid floating‐point value ("signaling NaN" or "SNaN")is never the result of a valid operation ‐‐ it must be produced deliberately (i.e., by calling `bsl::numeric_limits<float>::signaling_NaN()`). If an SNaN is used in a subsequent operation, the result is undefined and may result in a hardware trap leading to a signal. Some platforms do not support signaling NaNs, especially for single‐precision floats, and will convert an SNaN to a QNaN on assignment or copy‐initialization (including argument passing). `isSignalingNan` will always return `false` on such platforms. Note that, because an SNaN is a NaN, if this method returns `true`, then `isNan(x)` will also return `true`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- static bool xref:BloombergLP/bdlb/Float/isSignalingNan-0f.adoc[isSignalingNan](float number); ---- [.small]#xref:BloombergLP/bdlb/Float/isSignalingNan-0f.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#