class
StridedArrayView1DOne-dimensional array view with stride information
Provides a typed one-dimensional read-only view on a memory range with custom stride values. Convertible both to and from Python objects supporting the Buffer Protocol, preserving the dimensionality, type and stride information:
>>> a = array.array('f', [2.5, 3.14, -1.75, 53.2]) >>> b = containers.StridedArrayView1D(memoryview(a)[::2]) >>> b[0] 2.5 >>> b[1] -1.75
See StridedArrayView2D, StridedArrayView3D, StridedArrayView4D, MutableStridedArrayView1D and others for multi-dimensional and mutable equivalents.
Memory ownership and reference counting
Similarly to ArrayView, the view keeps a reference to the original
memory owner object in the owner field. Slicing a view creates a
new view referencing the same original object, without any dependency on
the previous view. The owner
is None
if the view is empty.
Comparison to Python’s memoryview
The StridedArrayView1D and its multi-dimensional variants are equivalent to any memoryview, but additionally supporting multi-dimensional slicing as well (which raises NotImplementedError in Py3.7 memoryview).
Methods
- def broadcasted(self, dimension: int, size: int) -> StridedArrayView1D
- Broadcast a dimension
- def expanded(self, dimension: int, size: tuple[int, int]) -> StridedArrayView2D
- Expand a dimension
- def expanded(self, dimension: int, size: tuple[int, int, int]) -> StridedArrayView3D
- Expand a dimension
- def expanded(self, dimension: int, size: tuple[int, int, int, int]) -> StridedArrayView4D
- Expand a dimension
- def flipped(self, dimension: int) -> StridedArrayView1D
- Flip a dimension
- def slice_bit(self, index: int) -> StridedBitArrayView1D
- Slice to a bit
Special methods
- def __buffer__(self, flags, /)
- Return a buffer object that exposes the underlying memory of the object.
- def __bytes__(self, /) -> bytes
- Convert to bytes
- def __getitem__(self, slice: slice) -> StridedArrayView1D
- Slice the view
- def __getitem__(self, i: int) -> object
- Value at given position
- def __init__(self, /) -> None
- Default constructor
- def __init__(self, arg0: Buffer, /) -> None
- Construct from a buffer
- def __len__(self, /) -> int
- View size in the top-level dimension
- def __release_buffer__(self, buffer, /)
- Release the buffer object that exposes the underlying memory of the object.
Properties
Method documentation
def corrade. containers. StridedArrayView1D. broadcasted(self,
dimension: int,
size: int) -> StridedArrayView1D
Broadcast a dimension
Exceptions | |
---|---|
IndexError | If dimension is not 0 |
def corrade. containers. StridedArrayView1D. expanded(self,
dimension: int,
size: tuple[int, int]) -> StridedArrayView2D
Expand a dimension
Exceptions | |
---|---|
IndexError | If dimension is not 0 |
ValueError | If product of size is not equal to size in
dimension |
def corrade. containers. StridedArrayView1D. expanded(self,
dimension: int,
size: tuple[int, int, int]) -> StridedArrayView3D
Expand a dimension
Exceptions | |
---|---|
IndexError | If dimension is not 0 |
ValueError | If product of size is not equal to size in
dimension |
def corrade. containers. StridedArrayView1D. expanded(self,
dimension: int,
size: tuple[int, int, int, int]) -> StridedArrayView4D
Expand a dimension
Exceptions | |
---|---|
IndexError | If dimension is not 0 |
ValueError | If product of size is not equal to size in
dimension |
def corrade. containers. StridedArrayView1D. flipped(self,
dimension: int) -> StridedArrayView1D
Flip a dimension
Exceptions | |
---|---|
IndexError | If dimension is not 0 |
def corrade. containers. StridedArrayView1D. __getitem__(self,
i: int) -> object
Value at given position
Exceptions | |
---|---|
IndexError | If i is out of range |
NotImplementedError | If the view was created from a buffer and
format is not one of 'b' ,
'B' , 'h' , 'H' , 'i' , 'I' , 'q' ,
'Q' , 'f' or 'd' |