def test_multiply_matrix_01(self): vec = sample_random_complex_vector(self.degree // 2) mat = [ sample_random_complex_vector(self.degree // 2) for _ in range(self.degree // 2) ] self.run_test_multiply_matrix(vec, mat)
def test_multiply_time(self): self.params.print_parameters() num_iterations = 1 print("Number of multiplications: %d" % (num_iterations)) total_time = 0 for _ in range(num_iterations): vec1 = sample_random_complex_vector(self.degree // 2) vec2 = sample_random_complex_vector(self.degree // 2) total_time += self.run_test_multiply(vec1, vec2) print("Average time per multiply operation: %f seconds" % (total_time / num_iterations))
def test_bootstrap_time(self): self.params.print_parameters() num_iterations = 1 print("Number of bootstraps: %d" % (num_iterations)) total_time = 0 for _ in range(num_iterations): vec = sample_random_complex_vector(self.degree // 2) total_time += self.run_test_bootstrap(vec) print("Average time per bootstrap operation: %f seconds" % (total_time / num_iterations))
def test_secret_key_encrypt_decrypt_01(self): vec = sample_random_complex_vector(self.degree // 2) self.run_test_secret_key_encrypt_decrypt(vec)
def test_multiply_01(self): vec1 = sample_random_complex_vector(self.degree // 2) vec2 = sample_random_complex_vector(self.degree // 2) self.run_test_multiply(vec1, vec2)
def test_encode_decode_01(self): vec = sample_random_complex_vector(self.degree // 2) self.run_test_encode_decode(vec)
def test_rotate_01(self): vec = sample_random_complex_vector(self.degree // 2) rot = 2 self.run_test_rotate(vec, rot)
def test_conjugate_01(self): vec = sample_random_complex_vector(self.degree // 2) self.run_test_conjugate(vec)
def test_bootstrap_01(self): vec = sample_random_complex_vector(self.degree // 2) try: self.run_test_bootstrap(vec) except Exception: self.run_test_bootstrap_steps(vec)
def test_exp_01(self): vec = sample_random_complex_vector(self.degree // 2) self.run_test_exp(vec)
def test_slot_to_coeff_01(self): vec = sample_random_complex_vector(self.degree // 2) self.run_test_slot_to_coeff(vec)
def test_subtract_01(self): vec1 = sample_random_complex_vector(self.degree // 2) vec2 = sample_random_complex_vector(self.degree // 2) self.run_test_subtract(vec1, vec2)
def test_secret_key_add_01(self): vec1 = sample_random_complex_vector(self.degree // 2) vec2 = sample_random_complex_vector(self.degree // 2) self.run_test_secret_key_add(vec1, vec2)