Re: [Numpy-discussion] [SciPy-User] Saving Complex Numbers

2010-07-16 Thread Pauli Virtanen
Thu, 15 Jul 2010 20:00:09 -0400, David Warde-Farley wrote:

 (CCing NumPy-discussion where this really belongs)
 
 On 2010-07-08, at 1:34 PM, cfra...@uci.edu wrote:
 
 Need Complex numbers in the saved file.
 
 Ack, this has come up several times according to list archives and no
 one's been able to provide a real answer.
 
 It seems that there is nearly no formatting support for complex numbers
 in Python. for a single value, {0.real:.18e}{0.imag:+.18e}.format(val)
 will get the job done, but because of the way numpy.savetxt creates its
 format string this isn't a trivial fix.
 
 Anyone else have ideas on how complex number format strings can be
 elegantly incorporated in savetxt?

The bug here is that

 z = np.complex64(1+2j)
 '%.18e' % z
'1.00e+00'
 float(np.complex64(1+2j))
1.0

This should raise an exception. I guess the culprit is at 
scalarmathmodule.c.src:1023.

It should at least be changed to raise a ComplexWarning, which we now 
anyway do in casting.

-- 
Pauli Virtanen

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] [SciPy-User] Saving Complex Numbers

2010-07-15 Thread David Warde-Farley
(CCing NumPy-discussion where this really belongs)

On 2010-07-08, at 1:34 PM, cfra...@uci.edu wrote:

 Need Complex numbers in the saved file.

Ack, this has come up several times according to list archives and no one's 
been able to provide a real answer.

It seems that there is nearly no formatting support for complex numbers in 
Python. for a single value, {0.real:.18e}{0.imag:+.18e}.format(val) will get 
the job done, but because of the way numpy.savetxt creates its format string 
this isn't a trivial fix. 

Anyone else have ideas on how complex number format strings can be elegantly 
incorporated in savetxt?

David
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion