<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 Aug 16, 2018, at 12:19 PM, Jim Thomas &lt;<a href="mailto:jaswthomas@sbcglobal.net" class="">jaswthomas@sbcglobal.net</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div 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=""><blockquote type="cite" 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; text-decoration: none;" class="">On Jul 26, 2018, at 3:59 PM, Fred J. Tydeman &lt;<a href="mailto:tydeman@tybor.com" class="">tydeman@tybor.com</a>&gt; wrote:<br class=""><br class="">On Wed, 25 Jul 2018 11:24:55 -0500 Rajan Bhakta wrote:<br class=""><blockquote type="cite" class=""><br class="">&nbsp;Fred: Recheck 'Functions and infinity' issues with 754 draft 238. -<span class="Apple-converted-space">&nbsp;</span><br class=""><br class=""></blockquote><br class="">IEEE 754 vs 18661 (and C17) for infinity<br class=""><br class="">Possible global issue: &nbsp;754 uses an unsigned infinity and C uses +/-infinity.<br class="">One such example is: remainder(x,inf) vs remainder(x,+/-inf).<br class="">But, a counter example is: cosh(+/-inf) is +inf<br class=""><br class="">I am assuming that 754's unsigned infinity is the same as +/-infinity.<br class=""></blockquote><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="">I believe 754 has resolved that it uses unsigned inf when the sign doesn’t matter. Cfp use of +/- seems ok.</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=""><blockquote type="cite" 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; text-decoration: none;" class=""><br class="">roundeven - ok<br class="">round - ok<br class="">trunc - ok<br class="">ceil - ok<br class="">floor - ok<br class="">rint - ok<br class=""><br class="">nextup - ok<br class="">nextdown - ok<br class="">remainder - ok<br class="">remquo - ok<br class=""><br class="">quantize - ok<br class="">quantum - CFP has: If x is NaN, the result is NaN.<br class="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;754 has no mention about NaN.<br class=""></blockquote><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="">That’s the default behavior. Should we remove the statement from P2?</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=""><blockquote type="cite" 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; text-decoration: none;" class=""><br class="">scaleb - ok<br class="">logb - ok<br class=""><br class="">fadd - Do we need to add something to Annex F for fadd(+inf,-inf)?<br class="">fsub - Do we need to add something to Annex F for fsub(+inf,+inf)?<br class="">fmul - Do we need to add something to Annex F for fmul(0,inf)?<span class="Apple-converted-space">&nbsp;</span><br class="">fdiv - Do we need to add something to Annex F for fdiv(inf,inf), fdiv(0,0)?<br class="">ffma - Do we need to add something to Annex F for ffma(inf,0,z), ffma(+inf,+y,-inf)?<br class="">fsqrt - Do we need to add something to Annex F for fsqrt(-inf)?<br class=""></blockquote><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="">We cover these implicitly by saying they’re fully specified in 60559. But for consistency in documentation style, with sqrt for example, we would state these cases explicitly. Maybe we could make a general statement that they handle 0 and inf arguments like +, -, *, /, fma, and sqrt, respectively.</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=""></div></blockquote><div><br class=""></div><div>Here’s a suggestion:</div><div><br class=""></div><div>To F.10.10a (TS 18661-1), append the paragraph:</div><div><br class=""></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>[2] These functions treat zero and infinite arguments like the corresponding operation or function: +, -, *, /, fma, sqrt.</div><br class=""><blockquote type="cite" class=""><div 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=""><blockquote type="cite" 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; text-decoration: none;" class="">convertFromInt - ok<br class=""><br class="">convertToInteger...<br class="">fromfp - ok<br class="">ufromfp - ok<br class="">fromfpx - ok<br class="">ufromfpx - ok<br class="">lround - ok<br class=""><br class="">canonicalize - ok<br class=""><br class="">scanf,... - ok<br class="">printf,... - ok<br class=""><br class="">copy - ok<br class="">negate - ok<br class="">fabs - ok<br class="">copysign - ok<br class=""><br class="">encode - ok<br class="">decode - ok<br class=""><br class="">compares - ok<br class="">iseqsig - ok<br class=""><br class="">is754* - ok<br class=""><br class="">fpclassify - ok<br class="">signbit - ok<br class="">isnormal - ok<br class="">isfinite - ok<br class="">iszero - ok<br class="">issubnormal - ok<br class="">isinf - ok<br class="">isnan - ok<br class="">issignaling - ok<br class="">iscanonical - ok<br class="">radix - ok<br class="">totalorder - differ for NaN payloads (but not in change to Std C)<br class="">totalordermag - differ for NaN payloads (but not in change to Std C)<br class=""></blockquote><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="">I suppose this could be a CR for P1. Is a CR needed?</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=""><blockquote type="cite" 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; text-decoration: none;" class="">Do we need to change the above two to take pointers to floating types,<br class="">so as to not trigger signaling NaNs?<br class=""></blockquote><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="">Good question. Seems like yes.</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=""></div></blockquote><div><br class=""></div>I think a CR will be need for this one. Suggestion for the change:</div><div><br class=""></div><div><div>In F.10.12.1 (TS 18661-1), change:</div><div><br class=""></div><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;" class=""><div>int&nbsp;totalorder(double x, double y);</div></blockquote><div><br class=""></div><div>to:</div><div><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;" class=""><div><br class=""></div><div>int&nbsp;totalorder(double * x, double * y);</div><div><br class=""></div></blockquote>and similarly for the other prototypes in F.10.12.1 and F.10.12.2.</div><div><div><br class=""></div><div>In F.10.12.1 (TS 18661-1), change:</div><div><br class=""></div><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;" class=""><div>Description<br class=""><br class="">[2] The&nbsp;totalorder&nbsp;functions determine whether the total order relationship, defined&nbsp;by IEC 60559, is true for the ordered pair of its arguments&nbsp;x,&nbsp;y. These&nbsp;functions are fully specified in IEC 60559. These functions are independent of&nbsp;the current rounding direction mode and raise no floating-point exceptions,&nbsp;even if an argument is a signaling NaN.<br class=""><br class="">Returns<br class=""><br class="">[3] The&nbsp;totalorder&nbsp;functions return nonzero if and only if the total order relation is&nbsp;true for the ordered pair of its arguments&nbsp;x,&nbsp;y.</div></blockquote><div><br class=""></div><div>to:</div><div><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;" class=""><div><br class=""></div><div>Description<br class=""><br class="">[2] The&nbsp;totalorder&nbsp;functions determine whether the total order relationship, defined&nbsp;by IEC 60559, is true for the ordered pair *x, *y. These&nbsp;functions are fully specified in IEC 60559. These functions are independent of&nbsp;the current rounding direction mode and raise no floating-point exceptions,&nbsp;even if *x or *y is a signaling NaN.<br class=""><br class="">Returns<br class=""><br class="">[3] The&nbsp;totalorder&nbsp;functions return nonzero if and only if the total order relation is&nbsp;true for the ordered pair *x, *y.<br class=""><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;" class=""><div class=""><br class=""></div></blockquote></div></blockquote>and similarly for F.10.12.2.</div></div></div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class=""><blockquote type="cite" 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; text-decoration: none;" class=""><br class="">samequantum - ok; &nbsp;Do we need to worry about signaling NaNs that trigger?<br class=""></blockquote><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="">Yes, we need to say something else here. Is there any reason samequantum shouldn’t have the default behavior for signaling NaNs? Mike?</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=""></div></blockquote><div><br class=""></div>Suggestion:</div><div><br class=""></div><div>In 7.12.11a.2#2 (TS 18661-2), change the last sentence from:</div><div><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div>The&nbsp;samequantumdN&nbsp;functions raise no floating-point exception.</div></blockquote><div><br class=""></div><div>to:</div><div><br class=""></div><div><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;" class=""><div>The&nbsp;samequantumdN&nbsp;functions raise no floating-point exception if neither argument is a signaling NaN.</div><div class=""><br class=""></div></blockquote></div><div><br class=""><blockquote type="cite" class=""><div 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=""><blockquote type="cite" 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; text-decoration: none;" class=""><br class="">*flags - ok<br class=""><br class="">================<br class=""><br class="">exp - ok<br class="">expm1 - ok<br class="">exp2 - ok<br class="">exp2m1 - ok<br class="">exp10 - ok<br class="">exp10m1 - ok<br class="">log - ok<br class="">log2 - ok<br class="">log10 - ok<br class="">logp1 - ok<br class="">log2p1 - ok<br class="">log10p1 - ok<br class="">hypot - ok<br class="">rsqrt - ok<br class="">compound -<span class="Apple-converted-space">&nbsp;</span><br class="">cfp is missing:<br class="">&nbsp;754: compound(+/-0,n) is 1<br class="">&nbsp;754: compound(+inf,n) is +inf for n&gt;0<br class="">&nbsp;754: compound(+inf,n) is +0 for n&lt;0<br class="">&nbsp;754: compound(qNaN,n) is qNaN for n!=0<br class="">rootn -<span class="Apple-converted-space">&nbsp;</span><br class="">replace cfp rootn(+/-inf,n) with<br class=""></blockquote></div></blockquote><div>I think cfp and 754 agree except for rootn(-inf, n) for even n &gt; 0:</div></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div><br class=""></div><div>cfp says it’s the same as rootn(-0, n) for even n &lt; 0 (without div-by-zero), which cfp and 754 both say is +inf.</div><div>754 says it's qNaN with invalid.</div></blockquote><div><br class=""></div><div>We can ask 754 to review/confirm this case. As usual, cfp needs to match 754. If cfp needs to change this case, it seems better to list out the cases for rootn(+/-inf, n) like 754 does, rather than relay on identity with rootn(+/-0, -n)&nbsp;</div><div><br class=""></div><div><blockquote type="cite" class=""><div class=""><blockquote type="cite" 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; text-decoration: none;" class="">&nbsp;754: rootn(+inf,n) is +inf for n&gt;0<br class="">&nbsp;754: rootn(+inf,n) is +0 for n&lt;0<br class="">&nbsp;754: rootn(-inf,n) is -inf for odd n&gt;0<br class="">&nbsp;754: rootn(-inf,n) is -0 for odd n&lt;0</blockquote></div></blockquote><blockquote type="cite" class=""><div class=""><blockquote type="cite" 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; text-decoration: none;" class="">&nbsp;754: rootn(-inf,n) is qNaN and "invalid" for even n&gt;0<br class="">&nbsp;754: rootn(-inf,n) is qNaN and "invalid" for even n&lt;0<br class="">pown -<span class="Apple-converted-space">&nbsp;</span><br class="">replace cfp pown(+/-inf,n) with<br class="">&nbsp;754: pown(+inf,n) is +inf for n&gt;0<br class="">&nbsp;754: pown(+inf,n) is +0 for n&lt;0<br class="">&nbsp;754: pown(-inf,n) is -inf for odd n&gt;0<br class="">&nbsp;754: pown(-inf,n) is +inf for even n&gt;0<br class="">&nbsp;754: pown(-inf,n) is -0 for odd n&lt;0<br class="">&nbsp;754: pown(-inf,n) is +0 for even n&lt;0<br class=""></blockquote></div></blockquote>Aren’t cfp and 754 equivalent for pown?</div><div><br class=""><blockquote type="cite" class=""><div class=""><blockquote type="cite" 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; text-decoration: none;" class="">pow -<span class="Apple-converted-space">&nbsp;</span><br class="">754: pow(+/-0,-inf) no exception<br class="">cfp: pow(+/-0,-inf) may raise div-by-zero<br class=""></blockquote></div></blockquote>We’ve already addressed the pow issue with a CR for C (N2271).</div><div><br class=""><blockquote type="cite" class=""></blockquote><blockquote type="cite" class=""><div class=""><blockquote type="cite" 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; text-decoration: none;" class="">powr -<span class="Apple-converted-space">&nbsp;</span><br class="">cfp is missing:<br class="">&nbsp;powr(x,qNaN) is qNaN for x&gt;=0<br class="">&nbsp;powr(qNaN,y) is qNaN<br class=""></blockquote></div></blockquote>Why does 754 state these cases? They’re covered by its general specification for NaNs in 9.2.&nbsp;</div><div><br class=""></div><div>- Jim Thomas</div><div><br class=""><blockquote type="cite" class=""><div 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="">Looks like we need to add some cases.</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=""></div></blockquote><div><br class=""></div><blockquote type="cite" class=""><div 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=""><blockquote type="cite" 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; text-decoration: none;" class="">sin - ok<br class="">cos - ok<br class="">tan - ok<br class="">sinpi - ok<br class="">cospi - ok<br class="">tanpi - ok<br class="">asin - ok<br class="">acos - ok<br class="">atan - ok<br class="">atan2 - ok<br class="">asinpi - ok<br class="">acospi - ok<br class="">atanpi - ok<br class="">atan2pi - ok<br class="">sinh - ok<br class="">cosh - ok<br class="">tanh - ok<br class="">asinh - ok<br class="">acosh - ok<br class="">atanh - ok<br class=""><br class="">*rounddir - ok<br class="">*modes - ok<br class=""><br class="">For the reduction functions, it appears to me that 754 requires<br class="">intermediate computations to not overflow or underflow. &nbsp;That<br class="">contradicts [1] in 7.12.13b; but matches F.10.10b [2].<br class=""><br class="">reducsum -<span class="Apple-converted-space">&nbsp;</span><br class="">754 has: A sum of infinities of different signs signals the invalid<br class="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;operation exception.<br class="">CFP has: returns a NaN and raises the "invalid" floating-point<br class="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exception if any two members of array p are infinities with<br class="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;different signs.<br class="">One reading of 754's requirement is the running sum and an array<br class="">element are the two items in question. &nbsp;So, sum([NaN, +inf, -inf],3)<br class="">when process left to right would NOT raise invalid for 754, but must<br class="">raise invalid for CFP.<br class="">reducdot - same problem as reducsum. &nbsp;Also, once a NaN is found, must<br class="">the remaining vector items be done (which might raise invalid)?<br class="">reducsumsq - ok<br class="">reducsumabs - ok<br class="">scaledprod - same issue as reducsum.<br class="">scaledprodsum - same issue as reducsum.<br class="">scaledproddiff - same issue as reducsum.<br class=""></blockquote><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="">754 is still discussing these. We’ll need a review, and probably update, when 754 is finalized.</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=""><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="">- Jim Thomas</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=""><blockquote type="cite" 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; text-decoration: none;" class=""><br class="">augadd - ok<br class="">augsub - ok<br class="">augmul - ok<br class=""><br class="">min - ok<br class="">max - ok<br class="">minNum - ok<br class="">maxNum - ok<br class="">minMag - ok<br class="">maxMag - ok<br class="">minMagNum - ok<br class="">maxMagNum - ok<br class=""><br class="">payload - ok<br class=""><br class=""><br class="">---<br class="">Fred J. Tydeman &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tydeman Consulting<br class=""><a href="mailto:tydeman@tybor.com" class="">tydeman@tybor.com</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Testing, numerics, programming<br class="">+1 (702) 608-6093 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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="">_______________________________________________<br class="">Cfp-interest mailing list<br class=""><a href="mailto:Cfp-interest@oakapple.net" class="">Cfp-interest@oakapple.net</a><br class="">http://mailman.oakapple.net/mailman/listinfo/cfp-interest<br class=""></blockquote><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="">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>