<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Dec 11, 2014 at 8:17 AM, Sebastian Berg <span dir="ltr"><<a href="mailto:sebastian@sipsolutions.net" target="_blank">sebastian@sipsolutions.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">One option<br>
would also be to have something like:<br>
<br>
np.common_shape(*arrays)<br>
np.broadcast_to(array, shape)<br>
# (though I would like many arrays too)<br>
<br>
and then broadcast_ar rays could be implemented in terms of these two.<br></blockquote><div><br></div><div>It looks like np.broadcast let's us write the common_shape function very easily;</div><div><br></div><div><div>def common_shape(*args):</div><div>    return np.broadcast(*args).shape</div></div><div><br></div><div>And it's also very fast:</div>1000000 loops, best of 3: 1.04 µs per loop<br> <div>So that does seem like a feasible refactor/simplification for np.broadcast_arrays.</div><div><br></div><div>Sebastian -- if you're up for writing np.broadcast_to in C, that's great! If you're not sure if you'll be able to get around to that in the near future, I'll submit my PR with a Python implementation (which will have tests that will be useful in any case).</div></div></div></div>