PHP 8.0.30
Preview: test_arrayterator.py Size: 1.42 KB
/opt/alt/python37/lib64/python3.7/site-packages/numpy/lib/tests/test_arrayterator.py

from __future__ import division, absolute_import, print_function

from operator import mul
from functools import reduce

import numpy as np
from numpy.random import randint
from numpy.lib import Arrayterator
from numpy.testing import assert_


def test():
    np.random.seed(np.arange(10))

    # Create a random array
    ndims = randint(5)+1
    shape = tuple(randint(10)+1 for dim in range(ndims))
    els = reduce(mul, shape)
    a = np.arange(els)
    a.shape = shape

    buf_size = randint(2*els)
    b = Arrayterator(a, buf_size)

    # Check that each block has at most ``buf_size`` elements
    for block in b:
        assert_(len(block.flat) <= (buf_size or els))

    # Check that all elements are iterated correctly
    assert_(list(b.flat) == list(a.flat))

    # Slice arrayterator
    start = [randint(dim) for dim in shape]
    stop = [randint(dim)+1 for dim in shape]
    step = [randint(dim)+1 for dim in shape]
    slice_ = tuple(slice(*t) for t in zip(start, stop, step))
    c = b[slice_]
    d = a[slice_]

    # Check that each block has at most ``buf_size`` elements
    for block in c:
        assert_(len(block.flat) <= (buf_size or els))

    # Check that the arrayterator is sliced correctly
    assert_(np.all(c.__array__() == d))

    # Check that all elements are iterated correctly
    assert_(list(c.flat) == list(d.flat))

if __name__ == '__main__':
    from numpy.testing import run_module_suite
    run_module_suite()

Directory Contents

Dirs: 2 × Files: 23

Name Size Perms Modified Actions
data DIR
- drwxr-xr-x 2023-05-13 02:18:14
Edit Download
- drwxr-xr-x 2023-05-13 02:18:14
Edit Download
42.68 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
15.49 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
1.42 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
6.62 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
33.49 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
126.81 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
13.10 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
75.59 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
6.70 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
34.07 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
12.63 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
7.03 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
30.54 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
8.62 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
19.02 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
14.69 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
16.72 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
12.62 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
2.96 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
1.62 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
10.16 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
13.15 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download
2.08 KB lrw-r--r-- 2023-04-24 19:30:08
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).