<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><div class="">Here’s a rewording of Fred’s draft replacement for 5.2.4.2.2 #14:</div><div class=""><br class=""></div><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;" class=""><div class="">Support for subnormal numbers is characterized by the implementation-defined values of FLT_HAS_SUBNORM, DBL_HAS_SUBNORM, and LDBL_HAS_SUBNORM:</div><div class=""><br class=""></div><div class="">0 The type does not have subnormal numbers, or the type has subnormal numbers but arithmetic operations in the default rounding mode typically treat subnormal operands as zeros and replace subnormal results with zeros.</div><div class=""><br class=""></div><div class="">1 The type has subnormal numbers which operations consistently treat as nonzero. Appropriate for types with IEC 60559-style gradual underflow.</div><div class=""><br class=""></div><div class="">2 The type has subnormal numbers. Arithmetic operations in the default rounding mode typically replace subnormal results with zeros, but treat subnormal operands as nonzero.</div><div class=""><br class=""></div><div class="">4 The type has subnormal numbers. Arithmetic operations in the default rounding mode typically treat subnormal operands as zeros, but do not replace subnormal results with zeros.</div><div class=""><br class=""></div><div class="">-1 The type has subnormal numbers but their support is not consistent in any of the above ways.</div></blockquote><div class=""><br class=""></div><div class="">Could 4 be merged with 0 (i.e. is 4 close enough to 0 for user purposes):</div><div class=""><br class=""></div></div><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;" class="">0' The type does not have subnormal numbers, or the type has subnormal numbers but arithmetic operations in the default rounding mode typically treat subnormal operands as zeros.</blockquote><div class=""><div class=""><br class=""></div><div class=""><br class=""></div><div class="">I think any specification would have to receive a YES answer to all of the following questions:</div><div class=""><br class=""></div><div class="">Does it cover existing/expected implementations? </div><div class=""><br class=""></div><div class="">Is it clear? Would implementers be able to determine how to define the macros? Would users be able to understand the meaning?</div><div class=""><br class=""></div><div class="">Would it be helpful to users?</div><div class=""><br class=""></div><div class="">Otherwise, I think we should propose that the type_HAS_SUBNORMS macros be removed from the C23 draft. This would clear the way for a fresh start, when more time and appropriate expertise are available.</div><div class=""><br class=""></div><div class="">- Jim Thomas</div></div><div class=""><br class=""></div><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Jun 24, 2021, at 6:11 AM, Fred J. Tydeman <<a href="mailto:tydeman@tybor.com" class="">tydeman@tybor.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Attached is a zip file of my proposal on subnormals.<br class="">Comments welcome.<br class=""><br class=""><br class="">---<br class="">Fred J. Tydeman Tydeman Consulting<br class=""><a href="mailto:tydeman@tybor.com" class="">tydeman@tybor.com</a> Testing, numerics, programming<br class="">+1 (702) 608-6093 Vice-chair of PL22.11 (ANSI "C")<br class="">Sample C99+FPCE tests: <a href="http://www.tybor.com/" class="">http://www.tybor.com</a><br class="">Savers sleep well, investors eat well, spenders work forever.<br class=""><br class=""><span id="cid:8C8C5C75-A511-4D61-941C-D4C5AE67D7EA" class=""><SUBNORM.ZIP></span>_______________________________________________<br class="">Cfp-interest mailing list<br class=""><a href="mailto:Cfp-interest@oakapple.net" class="">Cfp-interest@oakapple.net</a><br class=""><a href="http://mailman.oakapple.net/mailman/listinfo/cfp-interest" class="">http://mailman.oakapple.net/mailman/listinfo/cfp-interest</a><br class=""></div></div></blockquote></div><br class=""></div></body></html>