def test_2d(self): dims = [[200, 201, 202, 203], [210, 211, 212, 213]] coos = ((1, 2), (1, 3), (0, 3)) ndims, ncoos = qu.dim_map(dims, coos) assert_allclose([ndims[c] for c in ncoos], (212, 213, 203)) coos = ((-1, 1), (1, 2), (3, 4)) with raises(ValueError): ndims, ncoos = qu.dim_map(dims, coos) ndims, ncoos = qu.dim_map(dims, coos, cyclic=True) assert_allclose([ndims[c] for c in ncoos], (211, 212, 210)) ndims, ncoos = qu.dim_map(dims, coos, trim=True) assert_allclose([ndims[c] for c in ncoos], [212])
def test_3d(self): dims = [[[3000, 3001, 3002], [3010, 3011, 3012], [3020, 3021, 3022]], [[3100, 3101, 3102], [3110, 3111, 3112], [3120, 3121, 3122]]] coos = ((0, 0, 2), (1, 1, 2), (1, 2, 0)) ndims, ncoos = qu.dim_map(dims, coos) assert_allclose([ndims[c] for c in ncoos], (3002, 3112, 3120)) coos = ((0, -1, 2), (1, 2, 2), (4, -1, 3)) with raises(ValueError): ndims, ncoos = qu.dim_map(dims, coos) ndims, ncoos = qu.dim_map(dims, coos, cyclic=True) assert_allclose([ndims[c] for c in ncoos], (3022, 3122, 3020)) ndims, ncoos = qu.dim_map(dims, coos, trim=True) assert_allclose([ndims[c] for c in ncoos], [3122])
def test_1d(self, numpy): dims = [10, 11, 12, 13] coos = (1, 2, 3) if numpy: dims, coos = np.asarray(dims), np.asarray(coos) ndims, ncoos = qu.dim_map(dims, coos) assert_allclose([ndims[c] for c in ncoos], (11, 12, 13)) coos = ([-1], [2], [5]) with raises(ValueError): ndims, ncoos = qu.dim_map(dims, coos) ndims, ncoos = qu.dim_map(dims, coos, cyclic=True) assert_allclose([ndims[c] for c in ncoos], (13, 12, 11)) ndims, ncoos = qu.dim_map(dims, coos, trim=True) assert_allclose([ndims[c] for c in ncoos], [12])