import numpy as np
[docs]
class ExampleVectorInterface:
def __init__(self):
[docs]
self.rng = np.random.default_rng()
[docs]
self.size = self.rng.integers(2, 10)
def __next__(self):
return self.rng.random(self.size)
[docs]
class ExampleArrayInterface:
def __init__(self):
rng = np.random.default_rng()
[docs]
self.data = rng.random((rng.integers(2, 10), rng.integers(2, 10)))
@property
[docs]
def shape(self):
return self.data.shape
def __getitem__(self, args):
if args[1] >= self.shape[1]:
raise IndexError
return self.data[:, args[1]]