<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Jan 23, 2015 at 7:36 AM, Antoine Pitrou <span dir="ltr"><<a href="mailto:solipsis@pitrou.net" target="_blank">solipsis@pitrou.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, 22 Jan 2015 16:40:14 -0800<br>
Chris Barker <<a href="mailto:chris.barker@noaa.gov">chris.barker@noaa.gov</a>> wrote:<br>
><br>
> Expected Uses<br>
> =============<br>
><br>
> The primary expected use case is various forms of testing -- "are the<br>
> results computed near what I expect as a result?" This sort of test<br>
> may or may not be part of a formal unit testing suite.<br>
<br>
</span>I don't think the proposal fits the bill. For testing you want a<br>
function that is both 1) quite rigorous (i.e. checks equality within a<br>
defined number of ulps) 2)</blockquote><div><br></div><div>It depends on what you are testing -- I tried to be explicite that this was not intended for testing the accuracy of numerical algorithms, for instance. Rather, it's best use case is testing to see whether you have introduced a big 'ol bug that completely changed your result -- have you got in the ballark.</div><div><br></div><div>Something similar is in Boost, is in numpy, and n any number of other places. It is clearly useful. THat doesn't mean it has to go in the stdlib, but it is useful in many cases.</div><div><br></div><div>As for the ulps test -- can you suggest a way to do that, while also providing a simple definition of tolerance that casual users can understand and use (and have a reasonable default? I know I can't. Note that some of the feedback on the PEP as is is that it's too hard to understand already! (without better docs, anyway)</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> handles all special cases in a useful way<br>
(i.e. zeros, including distinguishing between positive and negative<br>
zeros, infinities, NaNs etc.).<br></blockquote><div><br></div><div>zero, inf, -inf, NaN are all handles, I think correctly. And if -0.0 is not cloe to 0.0, I dont know what is ;-)</div><div><br></div><div>(there is a test to make sure that's true actually)</div><div><br></div><div>If you want to make the  distinction between -0.0 and 0.0, then you don't want a "close" or "approximate" test.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
As someone who wrote such a function for Numba, what you're proposing<br>
would not be a suitable replacement.<br></blockquote><div><br></div><div>I never expected it would be a replacement for what is needed for a project like numba.</div><div><br></div><div>-Chris</div><div><br></div></div><div><br></div>-- <br><div class="gmail_signature"><br>Christopher Barker, Ph.D.<br>Oceanographer<br><br>Emergency Response Division<br>NOAA/NOS/OR&R            (206) 526-6959   voice<br>7600 Sand Point Way NE   (206) 526-6329   fax<br>Seattle, WA  98115       (206) 526-6317   main reception<br><br><a href="mailto:Chris.Barker@noaa.gov" target="_blank">Chris.Barker@noaa.gov</a></div>
</div></div>