<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 6, 2015 at 5:58 PM, Nathaniel Smith <span dir="ltr"><<a href="mailto:njs@pobox.com" target="_blank">njs@pobox.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">On Tue, Oct 6, 2015 at 9:51 AM, David Cournapeau <<a href="mailto:cournape@gmail.com">cournape@gmail.com</a>> wrote:<br>
><br>
> On Tue, Oct 6, 2015 at 5:44 PM, Nathaniel Smith <<a href="mailto:njs@pobox.com">njs@pobox.com</a>> wrote:<br>
>><br>
>> On Tue, Oct 6, 2015 at 4:46 AM, David Cournapeau <<a href="mailto:cournape@gmail.com">cournape@gmail.com</a>><br>
>> wrote:<br>
>> > The npy_ functions in npymath were designed to be exported. Those would<br>
>> > stay<br>
>> > that way.<br>
>><br>
>> If we want to export these then I vote that we either:<br>
>> - use the usual API export mechanism, or else<br>
>> - provide a static library for people to link to, instead of trying to<br>
>> do runtime binding. (I.e. drop it in some known place, and then<br>
>> provide some functions for extension modules to find it at build time<br>
>> -- similar to how np.get_include() works.)<br>
><br>
> Unless something changed, that's more or less how it works already (npymath<br>
> is used in scipy, for example, which was one of the rationale for writing it<br>
> in the first place !).<br>
<br>
</span>Okay... in fact multiarray.so right now *does* export tons and tons of<br>
random junk into the global symbol namespace (on systems like Linux<br>
that do have a global symbol namespace), so it isn't obvious whether<br>
people are asking for that to continue :-). I'm just specifically<br>
saying that we should try to get this back down to the 1 exported<br>
symbol.<br>
<br>
(Try:<br>
   objdump -T $(python -c 'import numpy; print(numpy.core.multiarray.__file__)')<br>
This *should* print 1 line... I currently get ~700. numpy.core.umath<br>
is similar.)<br>
<div class=""><div class="h5"><br></div></div></blockquote><div><br></div><div>I think this overestimates the amount by quite a bit, since you see GLIBC symbols, etc... I am using nm -Dg --defined-only $(python -c 'import numpy; print(numpy.core.multiarray.__file__)')    instead.<br><br></div><div>I see around 290 symboles: the npy_ from npymath don't bother me, but the ones from npysort do. We should at least prefix those with npy_ (I don't think npysort API has ever been publisher in our header like npymath was ?)<br><br></div><div>David<br><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 class=""><div class="h5">
-n<br>
<br>
--<br>
Nathaniel J. Smith -- <a href="http://vorpus.org" rel="noreferrer" target="_blank">http://vorpus.org</a><br>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
<a href="https://mail.scipy.org/mailman/listinfo/numpy-discussion" rel="noreferrer" target="_blank">https://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
</div></div></blockquote></div><br></div></div>