================ @@ -4426,6 +4425,32 @@ represented by ``0xH`` followed by 4 hexadecimal digits. The bfloat 16-bit format is represented by ``0xR`` followed by 4 hexadecimal digits. All hexadecimal formats are big-endian (sign bit at the left). +Some of the special floating point values can be represented by the following +identifiers: + + +-------------------+---------------------------------------------------+ + | Name | Description | + +===================+===================================================+ + | ``nan`` | Positive quiet NaN w/ payload equal to zero | + +-------------------+---------------------------------------------------+ + | ``qnan(payload)`` | Positive quiet NaN w/ custom payload | + +-------------------+---------------------------------------------------+ + | ``snan(payload)`` | Positive signaling NaN w/ custom payload | + +-------------------+---------------------------------------------------+ + | ``pinf`` | Positive infinity | + +-------------------+---------------------------------------------------+ + | ``ninf`` | Negative infinity | + +-------------------+---------------------------------------------------+ + +Please be careful when specifying the payload of ``snan`` and ``qnan``: the parser +always uses a ``double`` to carry floating point constants before converting it to +the target type. In some conversion cases, converting to ``float`` for instance, ---------------- arsenm wrote:
I'd expect the payload to just be an integer https://github.com/llvm/llvm-project/pull/105618 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits