[NumPy-Tickets] [NumPy] #1795: Sort out the NPY_*_FMT printf-formatting macros
NumPy Trac
numpy-tickets@scipy....
Wed Apr 6 12:28:18 CDT 2011
#1795: Sort out the NPY_*_FMT printf-formatting macros
--------------------+-------------------------------------------------------
Reporter: mwiebe | Owner: somebody
Type: defect | Status: new
Priority: normal | Milestone: Unscheduled
Component: Other | Version: devel
Keywords: |
--------------------+-------------------------------------------------------
Description changed by mwiebe:
Old description:
> These macros are supposed to help portably print different types, but
> they're currently not consistent. The points are
>
> * PyString_Format and PyOS_snprintf support different sets of formatting
> codes (the first is intended to be portable and consistent, the second
> calls the OS vsnprintf routine, according to the 2.7 documentation).
>
> * Within the NumPy code base, NPY_INTP_FMT is used with PyString_Format,
> while the rest of them are used with PyOS_snprintf.
>
> * In 2.6, PyString_Format doesn't support a long long formatting
> character, so on 64-bit windows, there is no mechanism to format the
> npy_intp type.
>
> * The code also casts to long and uses %ld in some places. This would
> produce the wrong value when using extremely large arrays.
New description:
These macros are supposed to help portably print different types, but
they're currently not consistent. The points are
* PyString_FromFormat and PyOS_snprintf support different sets of
formatting codes (the first is intended to be portable and consistent, the
second calls the OS vsnprintf routine, according to the 2.7
documentation).
* Within the NumPy code base, NPY_INTP_FMT is used with PyString_Format,
while the rest of them are used with PyOS_snprintf.
* In 2.6, PyString_Format doesn't support a long long formatting
character, so on 64-bit windows, there is no mechanism to format the
npy_intp type.
* The code also casts to long and uses %ld in some places. This would
produce the wrong value when using extremely large arrays.
--
--
Ticket URL: <http://projects.scipy.org/numpy/ticket/1795#comment:2>
NumPy <http://projects.scipy.org/numpy>
My example project
More information about the NumPy-Tickets
mailing list