<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=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Dec 25, 2020, at 7:37 PM, Fred J. Tydeman <<a href="mailto:tydeman@tybor.com" class="">tydeman@tybor.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta charset="UTF-8" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Attached is a first pass at the paper about negative zero.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">---</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Fred J. Tydeman Tydeman Consulting</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><a href="mailto:tydeman@tybor.com" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">tydeman@tybor.com</a><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class=""><span class="Apple-converted-space"> </span> Testing, numerics, programming</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">+1 (702) 608-6093 Vice-chair of PL22.11 (ANSI "C")</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Sample C99+FPCE tests:<span class="Apple-converted-space"> </span></span><a href="http://www.tybor.com/" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">http://www.tybor.com</a><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Savers sleep well, investors eat well, spenders work forever.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><p style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><br class=""><b class="">Submitter:</b>CFP group<br class=""><b class="">Submission Date:</b><span class="Apple-converted-space"> </span>2021-??-??<br class=""><b class="">Document:</b><span class="Apple-converted-space"> </span>WG14 26yy<br class=""><b class="">Title:</b><span class="Apple-converted-space"> </span>26yy: negative<br class=""><b class="">Reference Documents:</b><span class="Apple-converted-space"> </span>N2596</p><p style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">Summary: The term 'negative' is ambiguous when talking about zero.</p><p style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">Is -0.0 negative? Is it nonnegative? Is +0.0 positive? We believe that:</p><ul style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><li class="">negative is less than zero</li><li class="">positive is greater than zero</li><li class="">-0.0 and +0.0 are neither negative nor positive values</li><li class="">-0.0 has a negative sign</li><li class="">+0.0 has a positive sign</li></ul><p style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">However, -0.0 and +0.0 are both nonnegative and nonpositive.</p><p style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">Since C23 now requires just twos complement integers, there are no -0 integers (unlike with sign-magnitude and ones complement).</p><p style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">Since some people interpret 'negative' to include -0.0, we believe that the following changes would make the standard clearer.</p><ul style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><li class="">In 7.12.6.11 The log functions, change<blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">A domain error occurs if the argument is negative.</blockquote>to<blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">A domain error occurs if the argument is<span class="Apple-converted-space"> </span><del style="font-weight: bold; background-color: rgb(255, 160, 160);" class="">negative</del><ins style="font-weight: bold; background-color: rgb(160, 255, 160);" class="">less than zero</ins>.</blockquote></li><li class="">In 7.12.6.12 The log10 functions, change<blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">A domain error occurs if the argument is negative.</blockquote>to<blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">A domain error occurs if the argument is<span class="Apple-converted-space"> </span><del style="font-weight: bold; background-color: rgb(255, 160, 160);" class="">negative</del><ins style="font-weight: bold; background-color: rgb(160, 255, 160);" class="">less than zero</ins>.</blockquote></li><li class="">In 7.12.7.5 The pow functions, change<blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">A domain error occurs if x is finite and negative and y is finite and not an integer value.</blockquote>to<blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">A domain error occurs if x is finite and<span class="Apple-converted-space"> </span><del style="font-weight: bold; background-color: rgb(255, 160, 160);" class="">negative</del><ins style="font-weight: bold; background-color: rgb(160, 255, 160);" class="">less than zero</ins><span class="Apple-converted-space"> </span>and y is finite and not an integer value.</blockquote></li><li class="">In 7.12.8.4 The tgamma functions, change<blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">A range error occurs for some negative finite x</blockquote>to<blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">A range error occurs for some<span class="Apple-converted-space"> </span><del style="font-weight: bold; background-color: rgb(255, 160, 160);" class="">negative</del><span class="Apple-converted-space"> </span>finite x<span class="Apple-converted-space"> </span><ins style="font-weight: bold; background-color: rgb(160, 255, 160);" class="">less than zero</ins></blockquote></li><li class="">In 7.21.6.1 The fprintf function, '+' flag, change:<blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">(It begins with a sign only when a negative value is converted if this flag is not specified.)300)</blockquote>to<blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">(It begins with a sign only when a negative<span class="Apple-converted-space"> </span><ins style="font-weight: bold; background-color: rgb(160, 255, 160);" class="">signed</ins><span class="Apple-converted-space"> </span>value is converted if this flag is not specified.)300)</blockquote></li></ul></div></blockquote><div><br class=""></div>What is a “negative signed value”? I believe it’s intended to mean a signed value with a negative sign, though it might be interpreted as a signed value that its negative. Using an adverb might help: negatively signed value.</div><div><br class=""></div><div>What should happen with NaNs? I don’t believe C says that NaN values are signed, or unsigned.</div><div><br class=""></div><div>- Jim Thomas<br class=""><blockquote type="cite" class=""><div class=""><ul style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><li class=""><p class="">Since footnote 300</p><blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">300) The results of all floating conversions of a negative zero, and of negative values that round to zero, include a minus sign.</blockquote><p class="">is not normative, we believe that the above change is needed.</p></li><li class="">In 7.29.2.1 The fwprintf function, '+' flag, change:<blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">(It begins with a sign only when a negative value is converted if this flag is not specified.)356)</blockquote>to<blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">(It begins with a sign only when a negative<span class="Apple-converted-space"> </span><ins style="font-weight: bold; background-color: rgb(160, 255, 160);" class="">signed</ins><span class="Apple-converted-space"> </span>value is converted if this flag is not specified.)356)</blockquote><p class="">Since footnote 356</p><blockquote style="display: block; font-family: "Times New Roman"; background-color: lightgray; margin: 1em 40px;" class="">356) The results of all floating conversions of a negative zero, and of negative values that round to zero, include a minus sign.</blockquote><p class="">is not normative, we believe that the above change is needed.</p></li></ul><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">_______________________________________________</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Cfp-interest mailing list</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><a href="mailto:Cfp-interest@oakapple.net" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">Cfp-interest@oakapple.net</a><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><a href="http://mailman.oakapple.net/mailman/listinfo/cfp-interest" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">http://mailman.oakapple.net/mailman/listinfo/cfp-interest</a></div></blockquote></div><br class=""></body></html>