Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!

Idiom #285 Set variable to NaN

Given two floating point variables a and b, set a to a to a quiet NaN and b to a signalling NaN. Use standard features of the language only, without invoking undefined behavior.

from decimal import Decimal
a, b = Decimal('NaN'), Decimal('sNaN')
a = float('nan')

Python makes no effort to distinguish signaling NaNs from quiet NaNs, and behavior for signaling NaNs remains unspecified. Typical behavior is to treat all NaNs as though they were quiet.
#include <limits>
a = std::numeric_limits<float>::quiet_NaN();
b = std::numeric_limits<float>::signaling_NaN();

New implementation...
< >
tkoenig