Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

file 58 lines (37 sloc) 1.62 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58


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.
Something went wrong with that request. Please try again.