MCPcopy Index your code
hub / github.com/python/cpython / test_memoryview_construction

Method test_memoryview_construction

Lib/test/test_buffer.py:2386–2501  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2384 self.assertEqual(memoryview(y), memoryview(nd))
2385
2386 def test_memoryview_construction(self):
2387
2388 items_shape = [(9, []), ([1,2,3], [3]), (list(range(2*3*5)), [2,3,5])]
2389
2390 # NumPy style, C-contiguous:
2391 for items, shape in items_shape:
2392
2393 # From PEP-3118 compliant exporter:
2394 ex = ndarray(items, shape=shape)
2395 m = memoryview(ex)
2396 self.assertTrue(m.c_contiguous)
2397 self.assertTrue(m.contiguous)
2398
2399 ndim = len(shape)
2400 strides = strides_from_shape(ndim, shape, 1, 'C')
2401 lst = carray(items, shape)
2402
2403 self.verify(m, obj=ex,
2404 itemsize=1, fmt='B', readonly=True,
2405 ndim=ndim, shape=shape, strides=strides,
2406 lst=lst)
2407
2408 # From memoryview:
2409 m2 = memoryview(m)
2410 self.verify(m2, obj=ex,
2411 itemsize=1, fmt='B', readonly=True,
2412 ndim=ndim, shape=shape, strides=strides,
2413 lst=lst)
2414
2415 # PyMemoryView_FromBuffer(): no strides
2416 nd = ndarray(ex, getbuf=PyBUF_CONTIG_RO|PyBUF_FORMAT)
2417 self.assertEqual(nd.strides, ())
2418 m = nd.memoryview_from_buffer()
2419 self.verify(m, obj=None,
2420 itemsize=1, fmt='B', readonly=True,
2421 ndim=ndim, shape=shape, strides=strides,
2422 lst=lst)
2423
2424 # PyMemoryView_FromBuffer(): no format, shape, strides
2425 nd = ndarray(ex, getbuf=PyBUF_SIMPLE)
2426 self.assertEqual(nd.format, '')
2427 self.assertEqual(nd.shape, ())
2428 self.assertEqual(nd.strides, ())
2429 m = nd.memoryview_from_buffer()
2430
2431 lst = [items] if ndim == 0 else items
2432 self.verify(m, obj=None,
2433 itemsize=1, fmt='B', readonly=True,
2434 ndim=1, shape=[ex.nbytes], strides=(1,),
2435 lst=lst)
2436
2437 # NumPy style, Fortran contiguous:
2438 for items, shape in items_shape:
2439
2440 # From PEP-3118 compliant exporter:
2441 ex = ndarray(items, shape=shape, flags=ND_FORTRAN)
2442 m = memoryview(ex)
2443 self.assertTrue(m.f_contiguous)

Callers

nothing calls this directly

Calls 8

verifyMethod · 0.95
listClass · 0.85
strides_from_shapeFunction · 0.85
carrayFunction · 0.85
farrayFunction · 0.85
assertTrueMethod · 0.80
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected