[NumPy-Tickets] [NumPy] #1924: Support floating point hex representation in loadtxt
NumPy Trac
numpy-tickets@scipy....
Wed Aug 3 12:52:18 CDT 2011
#1924: Support floating point hex representation in loadtxt
-------------------------+--------------------------------------------------
Reporter: claumann | Owner: somebody
Type: enhancement | Status: new
Priority: normal | Milestone: Unscheduled
Component: Other | Version: 1.6.0
Keywords: |
-------------------------+--------------------------------------------------
Python supports a hexadecimal representation for floating numbers in
float.hex() and float.fromhex():
>>> a = 3.14
>>> a.hex()
'0x1.91eb851eb851fp+1'
>>> float.fromhex(a.hex())
3.14
Numpy's loadtxt does not support this hex text format but it seems like it
would be a useful enhancement. For example, a simple implementation might
come from changing the default converter returned by _getconv for columns
of type float:
def _floatconv(x):
try:
return float(x)
except ValueError:
pass
return float.fromhex(x)
And then change the return float in _getconv to return _floatconv. This
converter obeys essentially the same semantics (and exceptions) as float()
except that it falls back on fromhex before giving up.
A slightly less permissive change would be to check that the string x
begins with '0x' before calling fromhex and throwing a ValueError if not.
The code above would accept 'bad' and convert it to 2989, which might be
unnecessarily permissive.
Best, Chris
--
Ticket URL: <http://projects.scipy.org/numpy/ticket/1924>
NumPy <http://projects.scipy.org/numpy>
My example project
More information about the NumPy-Tickets
mailing list