Former-commit-id:06a8b51d6d
[formerly9f19e3f712
[formerly 64fa9254b946eae7e61bbc3f513b7c3696c4f54f]] Former-commit-id:9f19e3f712
Former-commit-id:a02aeb236c
59 lines
1.6 KiB
Text
Executable file
59 lines
1.6 KiB
Text
Executable file
|
|
|
|
X.flat returns an indexable 1-D iterator (mostly similar to an array
|
|
but always 1-d) --- only has .copy and .__array__ attributes of an array!!!
|
|
|
|
.typecode() --> .dtype.char
|
|
|
|
.iscontiguous() --> .flags['CONTIGUOUS'] or .flags.contiguous
|
|
|
|
.byteswapped() -> .byteswap()
|
|
|
|
.itemsize() -> .itemsize
|
|
|
|
.toscalar() -> .item()
|
|
|
|
If you used typecode characters:
|
|
|
|
'c' -> 'S1' or 'c'
|
|
'b' -> 'B'
|
|
'1' -> 'b'
|
|
's' -> 'h'
|
|
'w' -> 'H'
|
|
'u' -> 'I'
|
|
|
|
|
|
C -level
|
|
|
|
some API calls that used to take PyObject * now take PyArrayObject *
|
|
(this should only cause warnings during compile and not actual problems).
|
|
PyArray_Take
|
|
|
|
These commands now return a buffer that must be freed once it is used
|
|
using PyMemData_FREE(ptr);
|
|
|
|
a->descr->zero --> PyArray_Zero(a)
|
|
a->descr->one --> PyArray_One(a)
|
|
|
|
Numeric/arrayobject.h --> numpy/oldnumeric.h
|
|
|
|
|
|
# These will actually work and are defines for PyArray_BYTE,
|
|
# but you really should change it in your code
|
|
PyArray_CHAR --> PyArray_CHAR
|
|
(or PyArray_STRING which is more flexible)
|
|
PyArray_SBYTE --> PyArray_BYTE
|
|
|
|
Any uses of character codes will need adjusting....
|
|
use PyArray_XXXLTR where XXX is the name of the type.
|
|
|
|
|
|
If you used function pointers directly (why did you do that?),
|
|
the arguments have changed. Everything that was an int is now an intp.
|
|
Also, arrayobjects should be passed in at the end.
|
|
|
|
a->descr->cast[i](fromdata, fromstep, todata, tostep, n)
|
|
a->descr->cast[i](fromdata, todata, n, PyArrayObject *in, PyArrayObject *out)
|
|
anything but single-stepping is not supported by this function
|
|
use the PyArray_CastXXXX functions.
|
|
|