Пример #1
0
def test_special_attribute_func3():
    shape = (6, 6)
    ordering = np.arange(product(shape))[::-1].reshape(shape)
    val = np.arange(product(shape)).reshape(shape)
    func = lambda s, x: x * s.val * s.myscalar1 * s._myscalar2
    layout = PackedTable(shape, ordering=ordering, val=val, key=func)
    layout.myscalar1 = 2
    layout._myscalar2 = 3
    assert_same(layout.key(2), val.ravel()[::-1] * 12)
    assert_same(layout.all.key(2), val * 12)
Пример #2
0
def test_special_attribute_func2():
    shape = (6, 6)
    ordering = np.arange(product(shape))[::-1].reshape(shape)
    val = np.arange(product(shape)).reshape(shape)
    layout = PackedTable(shape, ordering=ordering, val=val, key=None)
    layout.myscalar1 = 2
    layout._myscalar2 = 3
    layout_funcs = (lambda: val.ravel()[::-1] * 6,
                    lambda s: s.val * s.myscalar1 * s._myscalar2)

    def func(v):
        setattr(layout, 'key', v)
        assert_equal(layout.all.key, val * 6)
        assert_equal(layout.key, val.ravel()[::-1] * 6)
        assert_same(layout.all.key.shape, layout.shape)
        assert_same(layout.key.shape, (len(layout),))
    for v in layout_funcs:
        yield func, v