<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 22, 2018 at 12:36 PM, Jaime Fernández del Río <span dir="ltr"><<a href="mailto:jaime.frio@gmail.com" target="_blank">jaime.frio@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>For some odd reason, several ndimage functions only return the output array if it has been allocated by the function itself, not if you have passed a preallocated array to the function, e.g.:</div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><font face="monospace, monospace">ndimage.correlate1d([1, 2, 3], [1, 1, 1])  # returns [4, 6, 8]</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">out = np.empty(3)</font></div><div><font face="monospace, monospace">ndimage.correlate1d([1, 2, 3], [1, 1, 1], output=out)  # returns None (but writes [4, 6, 8] to out)</font></div></blockquote><div><br></div><div>I find this to be an annoying, unintuitive behaviour, that differs from what e.g. numpy ufuncs do, and that often requires special handling, see e.g. the review comments in <a href="https://github.com/scipy/scipy/pull/8455" target="_blank">#8455</a>. It is furthermore not consistently implemented, as several functions do return the output array always.</div><div>I have submitted <a href="https://github.com/scipy/scipy/pull/8461" target="_blank">#8461</a> changing this behaviour so that the output array is always returned, regardless if it was given by the user or allocated by the function. It probably says more about the poor coverage of the tests than anything else, but the change did not make any of the current tests fail.</div><div><br></div><div>I doubt this change will be problematic to any user, but it is indeed a change to a longstanding, documented behavior, so it probably deserves more discussion than would happen in the PR alone. Any objections anyone?</div></div></blockquote><div><br></div><div>Makes sense to me, no objections.<br><br></div><div>Cheers,<br></div><div>Ralf<br><br></div></div></div></div>