<br><br><div><span class="gmail_quote">On 1/5/07, <b class="gmail_sendername">Travis Oliphant</b> &lt;<a href="mailto:oliphant@ee.byu.edu">oliphant@ee.byu.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Charles R Harris wrote:<br><br>&gt;<br>&gt;<br>&gt; On 1/5/07, *Stefan van der Walt* &lt;<a href="mailto:stefan@sun.ac.za">stefan@sun.ac.za</a><br>&gt; &lt;mailto:<a href="mailto:stefan@sun.ac.za">stefan@sun.ac.za</a>&gt;&gt; wrote:
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; On Fri, Jan 05, 2007 at 09:38:49AM -0500, Neal Becker wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Several extensions to Python utilize the buffer protocol to<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; share<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; the location of a data-buffer that is really an N-dimensional
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; array.&nbsp;&nbsp;However, there is no standard way to exchange the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; additional N-dimensional array information so that the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; data-buffer<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; is interpreted correctly.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; I am questioning if this is the best concept.&nbsp;&nbsp;It says that the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; data-buffer<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; will carry the information about it&#39;s interpretation as an<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; N-dimensional
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; array.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; I&#39;m thinking that a buffer is just an interface to memory, and<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; that the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; interpretation as an array of n-dimensions, for example, is best
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; left to<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; the application.&nbsp;&nbsp;I might want to at one time view the data as<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; n-dimensional, but at another time as 1-dimensional, for example.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; You can always choose to ignore that information if you don&#39;t need it.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; On the other hand, if you *do* need it, how would you otherwise<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; interpret an N-dimensional array, given only a buffer?<br>&gt;<br>&gt;<br>&gt; I think Neal is suggesting some object that basically does nothing but
<br>&gt; hold a pointer(s) to memory. This memory can be used in various ways,<br>&gt; one of which is to use it construct another type of object that<br>&gt; provides a view with indices and such, i.e., an array. That way the
<br>&gt; memory isn&#39;t tied to arrays and could concievable be used in other<br>&gt; ways. The idea is analagous to the data/model/view paradigm. It is a<br>&gt; bit cleaner than just ignoring the array parts.<br><br>Such an object would be useful.&nbsp;&nbsp;I would submit that it is what the
<br>buffer object &quot;should be&quot;</blockquote><div><br>Yeah. The problem is that we have a buffer API, not a buffer object.<br></div><br>Chuck<br></div><br>