<br><br><div class="gmail_quote">On Wed, Sep 1, 2010 at 10:46 AM, Charles R Harris <span dir="ltr"><<a href="mailto:charlesr.harris@gmail.com">charlesr.harris@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br><br><div class="gmail_quote"><div class="im">On Tue, Aug 31, 2010 at 2:56 PM, Jason McCampbell <span dir="ltr"><<a href="mailto:jmccampbell@enthought.com" target="_blank">jmccampbell@enthought.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
Hi Chuck (and anyone else interested),<div><br></div><div>I updated the refactoring page on the NumPy developer wiki (seems to be down or I'd paste in the link).  It certainly isn't complete, but there are a lot more details about the data structures and memory handling and an outline of some additional topics that needs to be filled in.</div>


<div><br></div></blockquote></div><div><br>Thanks  Jason. How much of the core library can be used without any reference counting? I was originally thinking that the base ufuncs would just be functions accepting a pointer and a descriptor and handling memory allocations and such would be at a higher level. That is to say, the object oriented aspects of numpy would be removed from the bottom layers where they just get in the way.<br>
</div></div></blockquote><div> </div><div>Hi Chuck.  Unfortunately pretty much all of the main core object are reference counted.  We had hoped to avoid this, but the issue is that many of the objects reference each other. For example, some functions create a "new" array, but that array may just be a view of another array.  The same is true for the descriptor objects.  </div>
<div><br></div><div>One option was to push all memory management up into the interface, but that had the effect of requiring quite a few callbacks which makes the core a lot harder to use from standard C/C++ application.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="gmail_quote"><div>Also, since many of the public macros expect the old type structures, what is going to happen with them? They are really part of the API, but a particularly troublesome part for going forward.<br>
</div></div></blockquote><div><br></div><div>Are there any specific macros that are a particular problem? I do agree, I dislike macros in general and some have been simplified, but largely they are similar to what was there before.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="gmail_quote"><div><snip><br><br>
Chuck </div></div>
<br>_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
<br></blockquote></div><br>