A signaling NaN (sNaN) is a NaN whose use as an operand signals an invalid-operation exception for most arithmetic
operations in the IEEE 754-2008 standard. Under
default exception handling, an invalid operation returning a floating-point
number produces a quiet NaN, rather than a signaling
NaN (IEEE Computer Society 2008).
Within the framework documentation, it is suggested that sNaNs be implemented in such a way as to afford meaningful representations
for uninitialized variables and arithmetic-like enhancements
which may naturally fall beyond the scope of the standard. Under default exception
handling, an sNaN operand raises the invalid-operation exception in every general-computational
and signaling-computational operation, with an exception for the conversions specified
in §5.12 of the standard (IEEE Computer Society 2008, §6.2).
Goldberg, D. "What Every Computer Scientist Should Know About Floating-Point Arithmetic." ACM Comput. Surv.23, 5-48,
1991. https://doi.org/10.1145/103162.103163.IEEE
Computer Society. "IEEE Standard for Floating-Point Arithmetic: IEEE Std 754-2008
(Revision of IEEE Std 754-1985)." 2008. https://doi.org/10.1109/IEEESTD.2008.4610935.