Esempio n. 1
0
 def test_get_bool_1(self):
     a = aobj.DimSweep("a", [1, 2, 3])
     A = aobj.hfarray([10, 20, 30], dims=(a, ))
     ar = aobj.DimSweep("a", [2, 3])
     Ar = aobj.hfarray([20, 30], dims=(ar, ))
     bools = A > 10
     self.assertAllclose(A[bools], Ar)
Esempio n. 2
0
 def test_2(self):
     ai = aobj.DimSweep("a", [1, 2, 3])
     bi = aobj.DimSweep("b", [1, 2])
     aj = aobj.DimRep("a", [1, 2, 3])
     A = aobj.hfarray(ai)
     B = aobj.hfarray(bi)
     AB = A * B
     AB.replace_dim("a", aobj.DimRep)
     self.assertEqual(AB.dims, (aj, bi))
Esempio n. 3
0
 def setUp(self):
     adims = (aobj.DimSweep("f", 1), aobj.DimMatrix_i("i", 2),
              aobj.DimMatrix_j("j", 2))
     self.a = aobj.hfarray([[[1, 2 + 0j], [3, 4]]], dims=adims)
     bdims = (aobj.DimSweep("f", 1), aobj.DimMatrix_i("i", 3),
              aobj.DimMatrix_j("j", 3))
     self.b = aobj.hfarray([[[1, 2 + 0j, 3], [4, 5, 6], [7, 8, 9]]],
                           dims=bdims)
     self.adims = adims
     self.bdims = bdims
Esempio n. 4
0
    def setUp(self):
        self.adims = (aobj.DimSweep("f", 1),
                      aobj.DimMatrix_i("i", 2),
                      aobj.DimMatrix_j("j", 2))
        self.a = aobj.hfarray([[[0, 0j], [0, 0]]], dims=self.adims)
        self.bdims = (aobj.DimSweep("f", 10),
                      aobj.DimMatrix_i("i", 2),
                      aobj.DimMatrix_j("j", 2))
        self.b = aobj.hfarray(np.array([[[1, 2 + 0j], [3, 4]]]) +
                              np.arange(10)[:, newaxis, newaxis],
                              dims=self.bdims)

        self.c, = aobj.make_same_dims_list([random_value_array(4, 5)])
        self.cdims = self.c.dims
        self.ddims = self.bdims
        self.d = aobj.hfarray(np.array([[[1, 2], [3, 4]]]) +
                              np.arange(10)[:, newaxis, newaxis],
                              dims=self.ddims)

        self.i1 = i1 = aobj.DimSweep("i1", 1)
        self.i2 = i2 = aobj.DimSweep("i2", 1)
        self.i3 = i3 = aobj.DimSweep("i3", 1)
        self.i4 = i4 = aobj.DimSweep("i4", 1)
        self.i5 = i5 = aobj.DimSweep("i5", 1)
        self.fi = fi = aobj.DimSweep("f", 2),
        self.gi = gi = aobj.DimSweep("g", 3),

        self.e = aobj.hfarray(np.zeros((1, 2, 3)), dims=(i1, fi, gi))
        self.f = aobj.hfarray(np.zeros((2, 3, 1)), dims=(fi, gi, i1))
        self.g = aobj.hfarray(np.zeros((1, 2, 3, 1)), dims=(i2, fi, gi, i1))
        dims = (i2, fi, i3, gi, i1)
        self.h = aobj.hfarray(np.zeros((1, 2, 1, 3, 1)), dims=dims)
        dims = (i4, i5)
Esempio n. 5
0
 def test_1(self):
     ai = aobj.DimSweep("a", [1, 2, 3])
     bi = aobj.DimSweep("b", [1, 2])
     A = aobj.hfarray(ai)
     B = aobj.hfarray(bi)
     AB = A * B
     newdim = aobj.DimSweep("c", [1, 2, 3])
     AB.replace_dim(ai, newdim)
     self.assertEqual(AB.dims, (newdim, bi))
     AB = A * B
     AB.replace_dim("a", newdim)
     self.assertEqual(AB.dims, (newdim, bi))
Esempio n. 6
0
 def test_take(self):
     a = aobj.DimSweep("a", [1, 2])
     b = aobj.DimSweep("b", [1, 2, 3])
     c = aobj.DimSweep("c", [1, 2, 3, 4])
     A = aobj.hfarray([1, 2], dims=(a, ))
     B = aobj.hfarray([10, 20, 30], dims=(b, ))
     C = aobj.hfarray([100, 200, 300, 400], dims=(c, ))
     ABC = A + B + C
     anon = aobj.DimAnonymous("anon1", [0, 1, 2])
     self.assertAllclose(ABC.take([0, 1, 2]),
                         aobj.hfarray([111, 211, 311],
                                      dims=(anon, )))
Esempio n. 7
0
 def test_get_bool_2(self):
     a = aobj.DimSweep("a", [1, 2])
     b = aobj.DimSweep("b", [1, 2, 3])
     c = aobj.DimSweep("c", [1, 2, 3, 4])
     A = aobj.hfarray([1, 2], dims=(a, ))
     B = aobj.hfarray([10, 20, 30], dims=(b, ))
     C = aobj.hfarray([100, 200, 300, 400], dims=(c, ))
     ABC = A + B + C
     self.assertAllclose(ABC[A == 1].squeeze(), 1 + B + C)
     self.assertAllclose(ABC[B == 20].squeeze(), A + 20 + C)
     self.assertAllclose(ABC[C == 300].squeeze(), A + B + 300)
     self.assertRaises(ValueError, C.__getitem__, A == 1)
Esempio n. 8
0
 def test_init_6(self):
     fi = aobj.DimSweep("f", [12, 13, 14], unit="m", outputformat="%.3f")
     a = aobj.hfarray(fi, unit="Hz", outputformat="%.5f")
     self.assertEqual(a.unit, "Hz")
     self.assertEqual(a.dims, (fi,))
     self.assertEqual(a.outputformat, "%.5f")
     self.assertAllclose(a, [12, 13, 14])
Esempio n. 9
0
 def test_info_index_deprecated(self):
     reset_hftools_warnings()
     x = aobj.hfarray([1,2], dims=(aobj.DimSweep("a", 2),))
     self.assertHFToolsDeprecationWarning(x.info_index, "a", aobj.DimSweep)
     with warnings.catch_warnings():
         warnings.resetwarnings()
         warnings.simplefilter("ignore", HFToolsDeprecationWarning)
         x.info_index("a", aobj.DimSweep)
Esempio n. 10
0
 def test_t_3(self):
     a = aobj.DimSweep("freq", [1, 2, 3])
     i = aobj.DimMatrix_i("i", 2)
     j = aobj.DimMatrix_j("j", 2)
     A = aobj.hfarray(np.zeros((3, 2,), dtype=np.complex128), dims=(a, j,))
     A[:, 0] = [11, 110, 1100]
     A[:, 1] = [22, 220, 2200]
     At = A.t
     self.assertAllclose(A, At)
Esempio n. 11
0
 def setUp(self):
     self.fi = aobj.DimSweep("f", 3)
     self.gi = aobj.DimSweep("g", 4)
     self.ri = aobj.DimRep("r", 5)
Esempio n. 12
0

class Test_binary_ops_and(Test_binary_ops):
    op = operator.and_
    randfunc = [rand_bool]

    def test_7(self):
        v1 = VArray(self.randfunc[0]((self.fi, self.gi, self.ri), mean=10))
        v2 = 5
        a1 = np.array(v1)

        self._check(v1, v2, a1, v2)


class Test_binary_ops_or(Test_binary_ops_and):
    op = operator.or_


class Test_binary_ops_xor(Test_binary_ops_and):
    op = operator.xor


if __name__ == '__main__':
    fi = aobj.DimSweep("f", 3)
    gi = aobj.DimSweep("g", 4)
    ri = aobj.DimRep("r", 5)
    v1 = random_value_array_from_dims((fi, gi, ri), mean=10)
    v2 = VArray(random_value_array_from_dims((gi,), mean=10))
    a1 = np.array(v1)
    a2 = np.array(v2)[:, newaxis]
Esempio n. 13
0
def make_array(a):
    dims = (aobj.DimSweep("f", len(a)), aobj.DimMatrix_i("i", 2),
            aobj.DimMatrix_j("j", 2))
    return aobj.hfarray(a, dims=dims)
Esempio n. 14
0
 def test_1(self):
     res = self.cls(np.array(self.a))
     resdims = (aobj.DimSweep("freq", 1), ) + self.a.dims[1:]
     self.assertAllclose(res, self.a)
     self.assertEqual(res.dims, resdims)
Esempio n. 15
0
 def setUp(self):
     self.ai = aobj.DimSweep("a", [1, 2, 3])
     self.bi = aobj.DimSweep("b", [1, 2])
     self.A = aobj.hfarray(self.ai)
     self.B = aobj.hfarray(self.bi)