MCPcopy Create free account
hub / github.com/OpenMined/TenSEAL / test_util_rns

Function test_util_rns

tests/python/sealapi/test_util.py:10–58  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

8
9
10def test_util_rns():
11 with pytest.raises(BaseException):
12 util.RNSBase([sealapi.Modulus(0)])
13 with pytest.raises(BaseException):
14 util.RNSBase([sealapi.Modulus(0), sealapi.Modulus(3)])
15 with pytest.raises(BaseException):
16 util.RNSBase([sealapi.Modulus(2), sealapi.Modulus(3), sealapi.Modulus(4)])
17
18 testcase = util.RNSBase([sealapi.Modulus(2), sealapi.Modulus(3)])
19 assert testcase[0] == 2
20 assert testcase.size() == 2
21 assert testcase.contains(sealapi.Modulus(2)) is True
22 assert testcase.contains(sealapi.Modulus(7)) is False
23
24 base1 = util.RNSBase([sealapi.Modulus(2), sealapi.Modulus(3)])
25 base2 = util.RNSBase([sealapi.Modulus(2), sealapi.Modulus(3), sealapi.Modulus(11)])
26 base3 = util.RNSBase([sealapi.Modulus(5), sealapi.Modulus(3), sealapi.Modulus(11)])
27 assert base1.is_subbase_of(base2) is True
28 assert base1.is_proper_subbase_of(base2) is True
29 assert base1.is_subbase_of(base3) is False
30 assert base2.is_superbase_of(base1) is True
31 assert base2.is_proper_superbase_of(base1) is True
32 assert base3.is_superbase_of(base1) is False
33
34 base1 = base1.extend(sealapi.Modulus(11))
35 assert base1.size() == 3
36 base2 = util.RNSBase([sealapi.Modulus(23), sealapi.Modulus(37), sealapi.Modulus(53)])
37 base1 = base1.extend(base2)
38 assert base1.size() == 6
39
40 base1 = base1.drop(sealapi.Modulus(11))
41 assert base1.size() == 5
42 base1 = base1.drop()
43 base1 = base1.drop()
44 assert base1.size() == 3
45
46 base = util.RNSBase([sealapi.Modulus(3), sealapi.Modulus(5)])
47 dec = base.decompose([14, 0])
48 assert dec == [2, 4]
49 comp = base.compose(dec)
50 assert comp == [14, 0]
51
52 base = util.RNSBase([sealapi.Modulus(3), sealapi.Modulus(5)])
53 dec = base.decompose_array([14, 0], 1)
54 assert dec == [2, 4]
55 comp = base.compose_array(dec, 1)
56 assert comp == [14, 0]
57
58 assert base.base_prod() == 15
59
60
61def test_util_baseconverter_sanity():

Callers

nothing calls this directly

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected