FLT_HAS_SUBNORM равен 0: какой fpclassify(<subnormal>) должен возвращать: FP_SUBNORMAL или FP_ZERO, или вести к UB?
Последующий вопрос для:
- FLT_HAS_SUBNORM равен 0: приводит ли выполнение fpclassify() с вручную построенным субнормальным к UB или приводит к тому, что WDB возвращает FP_SUBNORMAL?
- Если наличие субнормальных чисел необязательно (HAS_SUBNORM), то почему присутствие FP_SUBNORMAL обязательно?
Вопрос: в случае чего
fpclassify(<subnormal>)
вернет:
FP_SUBNORMAL
или
FP_ZERO
, или вести в УБ? Пожалуйста, дополните.
Другими словами: должна ли реализация иметь свойство DAZ (Denormals Are Zero)? (Подробнее см. Комментарий пользователя @njuffa в ссылке №1.) Если да / нет, то должно ли это свойство применяться ко всем операциям, связанным с числами (объектами) FP, или к некоторым операциям, связанным с числами (объектами) FP?
UPD20210825: Ответ комитета:
Это FP_ZERO.
Последствия:
- В случае
FLT_HAS_SUBNORM is 0
должна ли реализация иметь свойство DAZ (Denormals Are Zero), установленное в 1? да. - Должен ли DAZ=1 применяться ко всем операциям с числами (объектами) FP? В ходе выполнения...