<br><br><div class="gmail_quote">On Sat, Apr 2, 2011 at 12:39 PM, Mark Wiebe <span dir="ltr"><<a href="mailto:mwwiebe@gmail.com">mwwiebe@gmail.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;">
<div class="gmail_quote"><div><div></div><div class="h5">On Thu, Mar 31, 2011 at 11:45 AM, Ralf Gommers <span dir="ltr"><<a href="mailto:ralf.gommers@googlemail.com" target="_blank">ralf.gommers@googlemail.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;">
<div>On Thu, Mar 31, 2011 at 8:37 PM, Eli Stevens (Gmail)<br>
<<a href="mailto:wickedgrey@gmail.com" target="_blank">wickedgrey@gmail.com</a>> wrote:<br>
> On Thu, Mar 31, 2011 at 10:40 AM, Ralf Gommers<br>
> <<a href="mailto:ralf.gommers@googlemail.com" target="_blank">ralf.gommers@googlemail.com</a>> wrote:<br>
>> It would definitely need to get into beta 2, and even then I'm a<br>
>> little hesitant to push in such a change at the last moment.<br>
><br>
> If I miss the 1.6.0b2 cutoff, would a change like this be appropriate<br>
> for 1.6.1, or will it need to wait until 1.7.0?  I wish I'd known that<br>
> half floats were going to be in 1.6.0 (the bug tracker says 2.0); I'd<br>
> have started working on this a few weeks earlier.  :)<br>
<br>
</div>There likely will not be a 1.7.0, if things with 2.0 go according to<br>
plan. It probably wouldn't be a very appropriate change for 1.6.1.<br>
<div><br>
><br>
>> It would<br>
>> need some testing with other libraries that use the numpy buffer<br>
>> protocol.<br>
><br>
> I am currently working on a patch for cython to accept half-floats.<br>
> ATM, it is able to accept the data from numpy (though it does not yet<br>
> handle the bit-fiddling to expand the values into a float32 on read,<br>
> nor collapse it from a float32 back into a float16 on write).  The<br>
> code change to numpy was literally a one-line change to add NPY_HALF<br>
> to a switch statement (though I haven't tried to import half floats<br>
> yet).  Is one other library enough, or will I need to find another<br>
> library to patch as well?  I think that OpenCL would probably be my<br>
> next choice, since I think that we'll eventually want float16 support<br>
> there too.<br>
<br>
</div>If it works with Cython I think that's enough. With other libraries I<br>
did not mean that you should write patches for those, just some<br>
testing to make sure the change is 100% backwards compatible.<br>
<div><br>
>> Also, reading back the thread, Pauli seemed to disagree with<br>
>> this.<br>
><br>
> On Fri, Mar 25, 2011 at 10:21 AM, Pauli Virtanen <<a href="mailto:pav@iki.fi" target="_blank">pav@iki.fi</a>> wrote:<br>
>> The buffer interface cannot be used to export the half-float types, since<br>
>> the type is not specified in PEP 3118. Numpy cannot unilaterally add<br>
>> nonstandard format codes to the spec.<br>
><br>
> I'm currently in the process of submitting a patch to CPython to<br>
> update the struct module to handle half-floats.  So far, the response<br>
> on python-ideas has been generally positive (a couple +1s from people<br>
> with commit bits, GVR has chimed in on the thread with an aside (but<br>
> not an objection), etc.).  Unless I'm misunderstanding the objection,<br>
> making half-floats an official part of the spec (the discussion on<br>
> python-ideas explicitly notes that numpy driving force behind the<br>
> change) would satisfy Pauli's concern.<br>
><br>
> Next up for me is to get a patch onto the CPython issue tracker, but<br>
> as soon as I have that done, I'll start working on adding unit tests<br>
> to my numpy fork.  I anticipate being able to get that done today.<br>
<br>
</div>Sounds good.<br><br></blockquote></div></div><div>I've committed the patch adding 'e' to the buffer protocol and back-ported it to the 1.6.x branch. This leaves the testing with Cython and getting consensus from CPython about the letter to use in the struct module/buffer interface.</div>

<div><br></div></div></blockquote><div><br>I didn't see any usable suggestions for an alternative to 'e' and not much resistance, so I expect  'e' will stick.<br> <br>Chuck  <br></div></div><br>