Incref descriptors properly when creating arrays

This commit is contained in:
Ivan Smirnov
2016-06-22 00:33:56 +01:00
parent 669e14269d
commit 2a7acb6d55
3 changed files with 16 additions and 9 deletions

View File

@@ -29,12 +29,10 @@ for func, dtype in [(create_rec_simple, simple_dtype), (create_rec_packed, packe
check_eq(arr, [(False, 0, 0.0), (True, 1, 1.5), (False, 2, 3.0)], simple_dtype)
check_eq(arr, [(False, 0, 0.0), (True, 1, 1.5), (False, 2, 3.0)], packed_dtype)
# uncomment lines below to cause a segfault upon exit in Py_Finalize :(
# if dtype == simple_dtype:
# print_rec_simple(arr)
# else:
# print_rec_packed(arr)
if dtype == simple_dtype:
print_rec_simple(arr)
else:
print_rec_packed(arr)
nested_dtype = np.dtype([('a', simple_dtype), ('b', packed_dtype)])
@@ -47,4 +45,4 @@ assert arr.dtype == nested_dtype
check_eq(arr, [((False, 0, 0.0), (True, 1, 1.5)),
((True, 1, 1.5), (False, 2, 3.0)),
((False, 2, 3.0), (True, 3, 4.5))], nested_dtype)
# print_rec_nested(arr)
print_rec_nested(arr)

View File

@@ -1,3 +1,12 @@
T{?:x:xxxI:y:f:z:}
T{?:x:=I:y:f:z:}
T{T{?:x:xxxI:y:f:z:}:a:T{?:x:=I:y:f:z:}:b:}
0,0,0
1,1,1.5
0,2,3
0,0,0
1,1,1.5
0,2,3
0,0,0|1,1,1.5
1,1,1.5|0,2,3
0,2,3|1,3,4.5