def _test_sdm(self, scanner_type): as1 = AddressSpace.init_random(1000, 1000000) counter = Counter.init_zero(1000, 1000000) sdm = SDM(as1, counter, 451, scanner_type) bs1 = Bitstring.init_random(1000) sdm.write(bs1, bs1) bs2 = sdm.read(bs1) self.assertEqual(0, bs1.distance_to(bs2))
def test_sdm_opencl_kernels(self): as1 = AddressSpace.init_random(1000, 1000000) counter = Counter.init_zero(1000, 1000000) sdm = SDM(as1, counter, 451, sdmlib.SDM_SCANNER_OPENCL) as1.opencl_opts.verbose = 1 for kernel in sdmlib.OPENCL_KERNEL_NAMES: as1.set_opencl_kernel(kernel) bs1 = Bitstring.init_random(1000) sdm.write(bs1, bs1) bs2 = sdm.read(bs1) self.assertEqual(0, bs1.distance_to(bs2))
def test_bitstring_xor(self): bs1 = Bitstring.init_random(1000) bs2 = Bitstring.init_ones(1000) bs3 = bs1.copy() bs3.xor(bs2) self.assertEqual(1000, bs1.distance_to(bs3)) bs2 = Bitstring.init_zeros(1000) bs3 = bs1.copy() bs3.xor(bs2) self.assertEqual(0, bs1.distance_to(bs3))
def test_bitstring_init_random(self): bs1 = Bitstring.init_random(1000) cnt1 = bs1.to_binary().count('1') self.assertLessEqual(abs(cnt1 - 500), 100)
def test_address_space(self): as1 = AddressSpace.init_random(1000, 1000000) bs = Bitstring.init_random(1000) as1.scan_thread2(bs, 451)
def test_bitstring_flip_random_bits(self): bs1 = Bitstring.init_random(1000) for i in range(1001): bs2 = bs1.copy() bs2.flip_random_bits(i) self.assertEqual(i, bs1.distance_to(bs2))
def test_bitstring_copy(self): bs1 = Bitstring.init_random(1000) bs2 = bs1.copy() self.assertEqual(0, bs1.distance_to(bs2))