def test_reshape(ctx_factory, oldshape, newshape): cl_ctx = ctx_factory() queue = cl.CommandQueue(cl_ctx) from numpy.random import default_rng rng = default_rng() x_in = rng.random(size=oldshape) namespace = pt.Namespace() x = pt.make_data_wrapper(namespace, x_in) assert_allclose_to_numpy(pt.reshape(x, newshape=newshape), queue)
def test_transpose(ctx_factory): cl_ctx = ctx_factory() queue = cl.CommandQueue(cl_ctx) shape = (2, 8) from numpy.random import default_rng rng = default_rng() x_in = rng.random(size=shape) namespace = pt.Namespace() x = pt.make_data_wrapper(namespace, x_in) assert_allclose_to_numpy(x.T, queue)
def test_roll(ctx_factory, shift, axis): cl_ctx = ctx_factory() queue = cl.CommandQueue(cl_ctx) namespace = pt.Namespace() pt.make_size_param(namespace, "n") x = pt.make_placeholder(namespace, name="x", shape=("n", "n"), dtype=np.float) x_in = np.arange(1., 10.).reshape(3, 3) assert_allclose_to_numpy(pt.roll(x, shift=shift, axis=axis), queue, {x: x_in})
def test_axis_permutation(ctx_factory, axes): cl_ctx = ctx_factory() queue = cl.CommandQueue(cl_ctx) ndim = len(axes) shape = (3, 4, 5)[:ndim] from numpy.random import default_rng rng = default_rng() x_in = rng.random(size=shape) namespace = pt.Namespace() x = pt.make_data_wrapper(namespace, x_in) assert_allclose_to_numpy(pt.transpose(x, axes), queue)
def test_concatenate(ctx_factory): cl_ctx = ctx_factory() queue = cl.CommandQueue(cl_ctx) from numpy.random import default_rng rng = default_rng() x0_in = rng.random(size=(3, 9, 3)) x1_in = rng.random(size=(3, 11, 3)) x2_in = rng.random(size=(3, 22, 3)) namespace = pt.Namespace() x0 = pt.make_data_wrapper(namespace, x0_in) x1 = pt.make_data_wrapper(namespace, x1_in) x2 = pt.make_data_wrapper(namespace, x2_in) assert_allclose_to_numpy(pt.concatenate((x0, x1, x2), axis=1), queue)
def test_stack(ctx_factory, input_dims): cl_ctx = ctx_factory() queue = cl.CommandQueue(cl_ctx) shape = (2, 2, 2)[:input_dims] from numpy.random import default_rng rng = default_rng() x_in = rng.random(size=shape) y_in = rng.random(size=shape) namespace = pt.Namespace() x = pt.make_data_wrapper(namespace, x_in) y = pt.make_data_wrapper(namespace, y_in) for axis in range(0, 1 + input_dims): assert_allclose_to_numpy(pt.stack((x, y), axis=axis), queue)