Write to slices
>>> b = a.copy()
>>> put_range_long_1d(b[:, 3])
- >>> print b
+ >>> print (b)
[[0 1 2 0 4]
[5 6 7 1 9]]
>>> put_range_long_1d(b[::-1, 3])
- >>> print b
+ >>> print (b)
[[0 1 2 1 4]
[5 6 7 0 9]]
>>> a = np.zeros(9, dtype='l')
>>> put_range_long_1d(a[1::3])
- >>> print a
+ >>> print (a)
[0 0 0 0 1 0 0 2 0]
Write to picked subarrays. This should NOT change the original
array as picking creates a new mutable copy.
>>> a = np.zeros(10, dtype='l').reshape(2, 5)
>>> put_range_long_1d(a[[0, 0, 1, 1, 0], [0, 1, 2, 4, 3]])
- >>> print a
+ >>> print (a)
[[0 0 0 0 0]
[0 0 0 0 0]]
0 1 2 3
4 5 6 7
8 9 10 11
- >>> test_c_contig(f_arr)
+ >>> test_c_contig(f_arr) #doctest: +ELLIPSIS
Traceback (most recent call last):
...
- ValueError: ndarray is not C contiguous
- >>> test_f_contig(c_arr)
+ ValueError: ndarray is not C...contiguous
+ >>> test_f_contig(c_arr) #doctest: +ELLIPSIS
Traceback (most recent call last):
...
ValueError: ndarray is not Fortran contiguous
- >>> test_c_contig(c_arr[::2,::2])
+ >>> test_c_contig(c_arr[::2,::2]) #doctest: +ELLIPSIS
Traceback (most recent call last):
...
- ValueError: ndarray is not C contiguous
+ ValueError: ndarray is not C...contiguous
>>> test_dtype('b', inc1_byte)
>>> test_dtype('B', inc1_ubyte)
>>> test_dtype('G', inc1_clongdouble_struct)
>>> test_dtype(np.int, inc1_int_t)
- >>> test_dtype(np.long, inc1_long_t)
+ >>> test_dtype(np.longlong, inc1_longlong_t)
>>> test_dtype(np.float, inc1_float_t)
>>> test_dtype(np.double, inc1_double_t)
>>> test_dtype(np.intp, inc1_intp_t)
Endian tests:
>>> test_dtype('%si' % my_endian, inc1_int)
- >>> test_dtype('%si' % other_endian, inc1_int)
+ >>> test_dtype('%si' % other_endian, inc1_int) #doctest: +ELLIPSIS
Traceback (most recent call last):
...
- ValueError: Non-native byte order not supported
+ ValueError: ...
array([(22, 23)],
dtype=[('f0', '|i1'), ('', '|V3'), ('f1', '!i4')])
- >>> print(test_packed_align(np.zeros((1,), dtype=np.dtype('b,i', align=True))))
+ >>> print(test_packed_align(np.zeros((1,), dtype=np.dtype('b,i', align=True)))) #doctest: +ELLIPSIS
Traceback (most recent call last):
...
- ValueError: Buffer dtype mismatch; next field is at offset 4 but 1 expected
+ ValueError: ...
- >>> print(test_unpacked_align(np.zeros((1,), dtype=np.dtype('b,i', align=False))))
+ >>> print(test_unpacked_align(np.zeros((1,), dtype=np.dtype('b,i', align=False)))) #doctest: +ELLIPSIS
Traceback (most recent call last):
...
- ValueError: Buffer dtype mismatch; next field is at offset 1 but 4 expected
+ ValueError: ...
>>> test_good_cast()
return unicode(arr).replace(u'\n\n', u'\n<_BLANKLINE_>\n')
def basic():
- cdef object[int, ndim=2] buf = np.arange(10, dtype=b'i').reshape((2, 5))
+ cdef object[int, ndim=2] buf = np.arange(10, dtype='i').reshape((2, 5))
print buf
print buf[0, 2], buf[0, 0], buf[1, 4], buf[1, 0]
def three_dim():
- cdef object[double, ndim=3] buf = np.arange(24, dtype=b'd').reshape((3,2,4))
+ cdef object[double, ndim=3] buf = np.arange(24, dtype='d').reshape((3,2,4))
print ndarray_str(buf)
print buf[0, 1, 2], buf[0, 0, 0], buf[1, 1, 1], buf[1, 0, 0]
def obj_array():
- cdef object[object, ndim=1] buf = np.array([b"a", 1, {}])
+ cdef object[object, ndim=1] buf = np.array(["a", 1, {}])
print buf
print buf[0], buf[1], buf[2]
arr[i] = value
value += 1
-def test_c_contig(np.ndarray[int, ndim=2, mode=b'c'] arr):
+def test_c_contig(np.ndarray[int, ndim=2, mode='c'] arr):
cdef int i, j
for i in range(arr.shape[0]):
print u" ".join([unicode(arr[i, j]) for j in range(arr.shape[1])])
-def test_f_contig(np.ndarray[int, ndim=2, mode=b'fortran'] arr):
+def test_f_contig(np.ndarray[int, ndim=2, mode='fortran'] arr):
cdef int i, j
for i in range(arr.shape[0]):
print u" ".join([unicode(arr[i, j]) for j in range(arr.shape[1])])
def inc1_int_t(np.ndarray[np.int_t] arr): arr[1] += 1
def inc1_long_t(np.ndarray[np.long_t] arr): arr[1] += 1
+def inc1_longlong_t(np.ndarray[np.longlong_t] arr): arr[1] += 1
def inc1_float_t(np.ndarray[np.float_t] arr): arr[1] += 1
def inc1_double_t(np.ndarray[np.double_t] arr): arr[1] += 1
def inc1_longdouble_t(np.ndarray[np.longdouble_t] arr): arr[1] += 1
"G", np.clongdouble):
if sizeof(double) == sizeof(long double): # MSVC
return
- if dtype in (b'F', b'D', b'G'):
+ if dtype in ('F', 'D', 'G'):
a = np.array([0, 10+10j], dtype=dtype)
inc1(a)
if a[1] != (11 + 11j): print u"failed!", a[1]
def test_recordarray():
cdef object[DoubleInt] arr
- arr = np.array([(5,5), (4, 6)], dtype=np.dtype(b'i,i'))
+ arr = np.array([(5,5), (4, 6)], dtype=np.dtype('i,i'))
cdef DoubleInt rec
rec = arr[0]
if rec.x != 5: print u"failed"
def test_good_cast():
# Check that a signed int can round-trip through casted unsigned int access
- cdef np.ndarray[unsigned int, cast=True] arr = np.array([-100], dtype=b'i')
+ cdef np.ndarray[unsigned int, cast=True] arr = np.array([-100], dtype='i')
cdef unsigned int data = arr[0]
return -100 == <int>data
def test_bad_cast():
# This should raise an exception
- cdef np.ndarray[int, cast=True] arr = np.array([1], dtype=b'b')
+ cdef np.ndarray[int, cast=True] arr = np.array([1], dtype='b')
cdef packed struct PackedStruct:
char a