<div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 22, 2019 at 7:34 PM Nathan Goldbaum <<a href="mailto:nathan12343@gmail.com">nathan12343@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div dir="auto">It might be worth using BigQuery to search the github repository public dataset for usages of np.sinc with keyword arguments.</div></div></blockquote><div><br></div><div>We spent some effort at Quansight to try different approaches to this. BigQuery turns out to be suboptimal, parsing code with ast.parse is more robust. Chris Ostrouchov just released some code for this (blog post with details to follow) and the results of running that code: <a href="https://github.com/Quansight-Labs/python-api-inspect/blob/master/data/numpy-summary.csv">https://github.com/Quansight-Labs/python-api-inspect/blob/master/data/numpy-summary.csv</a></div><div><br></div><div>np.sinc has 35 usages. to put that in perspective, np.array has ~31,000, np.dot ~2200, np.floor ~220, trace/inner/spacing/copyto are all similar to sinc.</div><div><br></div><div><br></div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 22, 2019 at 1:05 PM Sebastian Berg <<a href="mailto:sebastian@sipsolutions.net" target="_blank">sebastian@sipsolutions.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi all,<br>
<br>
there is an open PR (<a href="https://github.com/numpy/numpy/pull/12924" rel="noreferrer" target="_blank">https://github.com/numpy/numpy/pull/12924</a>) to<br>
convert `np.sinc` into a ufunc. Since it should improve general<br>
precision in `np.sinc`, I thought we could try to move that forward a<br>
bit. We check whether this is worth it or not in the end.<br></blockquote></div></div></blockquote><div><br></div><div>Can you quantify the precision improvement (approximately)?</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
However, it would also change behaviour slightly since `np.sinc(x=arr)`<br>
will not work, as ufuncs are positional arguments only (we could wrap<br>
`sinc`, but that hides all the nice features). </blockquote></div></div></blockquote><div><br></div><div>This would give an exception, so at least it's easy to fix. As backwards compat breaks go, this is a pretty minor one I think.<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Otherwise, there should<br>
be no change except additional features of ufuncs and the move to a C<br>
implementation.<br></blockquote></div></div></blockquote><div><br></div><div>I see this is one of the functions that uses asanyarray, so what about impact on subclass behavior?</div><div><br></div><div>Cheers,<br></div><div>Ralf</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
This is mostly to see if anyone is worried about possible slight API<br>
change here.<br>
<br>
All the Best,<br>
<br>
Sebastian<br>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@python.org" target="_blank">NumPy-Discussion@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/numpy-discussion" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/numpy-discussion</a><br>
</blockquote></div></div>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@python.org" target="_blank">NumPy-Discussion@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/numpy-discussion" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/numpy-discussion</a><br>
</blockquote></div></div></div>