<div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div dir="ltr"><span style="color:rgb(80,0,80)"><div dir="ltr"><div><span>This issue deals with pole errors and how they occur in lgamma() and tgamma().</span></div><div><br></div><div dir="ltr"><div>Proposal 1 -- 7.12.1#3</div><div>Current:</div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div>Similarly, a pole error (also known as a singularity or infinitary) occurs if and only if the mathematical function has an exact infinite result as the finite input argument(s) are approached in the limit (for example, log(0.0)). The description of each function lists any required pole errors; an implementation may define additional pole errors, provided that such errors are consistent with the mathematical definition of the function.</div></div></blockquote><div dir="ltr"><div>Proposed:</div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">Similarly, a pole error occurs<span style="background-color:rgb(255,255,0)"> in certain cases where the arguments are finite and the mathematical function has an infinite limit (for example, a pole error occurs at <font face="monospace"><b>log(0.0)</b></font> because log(x) has a right-hand limit of </span><span style="background-color:rgb(255,255,0)">-∞</span><span style="background-color:rgb(255,255,0)"> at 0</span>). The description of each function lists any required pole errors; an implementation may define additional pole errors, provided that such errors are consistent with the mathematical definition of the function.</blockquote><div><br></div><div>Proposal 2 -- 7.12.8.3#2 on lgamma (log gamma)<div>Current:</div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>A pole error may occur if x is a negative integer or zero.</div></blockquote><div>Proposed:</div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">No change; see the discussion below.</blockquote><br>Proposal 3 -- 7.12.8.4#2 on tgamma (gamma function)<div>Current:</div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>A domain error or a pole error may occur if x is a negative integer or zero.</div></blockquote><div>Proposed:</div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>No change; see discussion below.</div></blockquote><div><div dir="ltr"><div><br></div></div></div></div></div></span><div><div dir="ltr">DISCUSSION </div><div dir="ltr"><ul><span style="color:rgb(80,0,80)"><li style="margin-left:15px">The description of a "pole error" streamlines the concepts and the language -- there is no mention of "exact infinity", "singularity", or "infinitary", and no attempt to capture all the mathematical cases.</li><li style="margin-left:15px">The language "occurs in certain places" emphasizes that the pole error is an artifact of the C language library, as opposed to a purely mathematical concept.</li><li style="margin-left:15px">Theusage that a pole error or other error "may occur" vs. "occurs" is a document-wide issue. Domain, pole, and range errors "may occur" 13, 14, and 6 times, respectively. This is a rich subject touching on possible new requirements for math.h.</li><li style="margin-left:15px">log gamma -- "may occur" applies to lgamma() in the same spirit as with log() and tanpi(). In this case, the function tends to <a class="gmail_plusreply" id="m_6995407806741694435m_6347996802468901938m_3889192535365969074plusReplyChip-0">+</a>∞ at the points of interest.</li><li style="margin-left:15px">gamma -- "may occur" applies to tgamma() in a more subtle way, as in tanpi(), with its two 1-sided limits at the points of interest. If the arithmetic supports signed 0, then the sign of the infinite or huge result at 0.0 is determined. Or, as with tanpi(), one might arbitrarily assign tgamma(x) at negative integer x to be -∞ if x is odd and <a class="gmail_plusreply" id="m_6995407806741694435m_6347996802468901938m_3889192535365969074plusReplyChip-1">+</a>∞ if x is even. This would eliminate the domain errors and motivate pole errors at the negative integers.</li></span></ul><font color="#500050">Thanks for having a look.</font></div></div><div dir="ltr"><font color="#500050"><br></font></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr">-Jerome Coonen<div> 650.996.4738</div><div> <a href="mailto:jcoonen@gmail.com" target="_blank">jcoonen@gmail.com</a></div></div></div></div></div></div>
</div></div>
</div></div>
</div></div>