Exemplo n.º 1
0
    def test_ints(self):
        for i in range(0x80):
            encoded = parity_encode(i)

            errors = parity_errors(encoded)
            self.assertFalse(errors, 'Encoded data has false errors.')

            decoded = parity_decode(encoded)
            self.assertEqual(decoded, i, 'Decoded data does not match original.')

            for b in range(8):
                oneerr = encoded ^ (1 << b)
                errors = parity_errors(oneerr)
                self.assertTrue(errors, 'Error not detected in encoded data.')
Exemplo n.º 2
0
    def test_ints(self):
        for i in range(0x80):
            encoded = parity_encode(i)

            errors = parity_errors(encoded)
            self.assertFalse(errors, 'Encoded data has false errors.')

            decoded = parity_decode(encoded)
            self.assertEqual(decoded, i, 'Decoded data does not match original.')

            for b in range(8):
                oneerr = encoded ^ (1 << b)
                errors = parity_errors(oneerr)
                self.assertTrue(errors, 'Error not detected in encoded data.')
Exemplo n.º 3
0
def build(input, output, mode, bits):
    """Build pattern tables."""
    from teletext.coding import parity_encode, hamming8_enc
    from teletext.vbi.pattern import build_pattern

    if mode == 'parity':
        pattern_set = set(parity_encode(range(0x80)))
    elif mode == 'hamming':
        pattern_set = set(hamming8_enc)
    else:
        pattern_set = range(256)

    chunks = FileChunker(input, 27)
    chunks = tqdm(chunks, unit='P', dynamic_ncols=True)

    build_pattern(chunks, output, *bits, pattern_set)
Exemplo n.º 4
0
    def _test_array(self, array: np.ndarray):

        encoded = parity_encode(array)
        self.assertEqual(encoded.dtype, np.int)
        self.assertEqual(array.shape, encoded.shape, 'Encoded data has wrong shape')

        #bitcounts = np.sum(np.unpackbits(encoded, axis=1), axis=1)
        #self.assertTrue(all(bitcounts & 1), 'Encoded data has wrong parity.')

        errors = parity_errors(encoded)
        self.assertFalse(any(errors), 'Encoded data has false errors.')

        decoded = parity_decode(encoded)
        self.assertEqual(decoded.dtype, np.int)
        self.assertTrue(all(decoded == array), 'Decoded data does not match original.')

        for b in range(8):
            oneerr = encoded ^ (1 << b)
            errors = parity_errors(oneerr)
            self.assertTrue(all(errors), 'Error not detected in encoded data.')
Exemplo n.º 5
0
    def _test_array(self, array: np.ndarray):

        encoded = parity_encode(array)
        self.assertEqual(encoded.dtype, np.int)
        self.assertEqual(array.shape, encoded.shape, 'Encoded data has wrong shape')

        #bitcounts = np.sum(np.unpackbits(encoded, axis=1), axis=1)
        #self.assertTrue(all(bitcounts & 1), 'Encoded data has wrong parity.')

        errors = parity_errors(encoded)
        self.assertFalse(any(errors), 'Encoded data has false errors.')

        decoded = parity_decode(encoded)
        self.assertEqual(decoded.dtype, np.int)
        self.assertTrue(all(decoded == array), 'Decoded data does not match original.')

        for b in range(8):
            oneerr = encoded ^ (1 << b)
            errors = parity_errors(oneerr)
            self.assertTrue(all(errors), 'Error not detected in encoded data.')
Exemplo n.º 6
0
 def test_unit_list(self):
     data = [0]
     encoded = parity_encode(data)
     self.assertEqual(encoded.shape, (1, ), 'Encoded data has wrong shape')
Exemplo n.º 7
0
 def test_int_type(self):
     encoded = parity_encode(0)
Exemplo n.º 8
0
 def test_full_list(self):
     data = list(range(0x80))
     encoded = parity_encode(data)
     self.assertEqual(encoded.shape, (len(data), ),
                      'Encoded data has wrong shape')
Exemplo n.º 9
0
 def test_unit_array_type(self):
     encoded = parity_encode(np.array([0], dtype=np.uint8))
     self.assertIsInstance(encoded, np.ndarray)
Exemplo n.º 10
0
 def test_unit_list_type(self):
     encoded = parity_encode([0])
     self.assertIsInstance(encoded, np.ndarray)
Exemplo n.º 11
0
 def test_array_type(self):
     encoded = parity_encode(np.array(range(0x80), dtype=np.uint8))
     self.assertIsInstance(encoded, np.ndarray)
Exemplo n.º 12
0
 def test_list_type(self):
     encoded = parity_encode(list(range(0x80)))
     self.assertIsInstance(encoded, np.ndarray)
Exemplo n.º 13
0
 def test_array_type(self):
     encoded = parity_encode(np.array(range(0x80), dtype=np.uint8))
     self.assertIsInstance(encoded, np.ndarray)
Exemplo n.º 14
0
 def test_list_type(self):
     encoded = parity_encode(list(range(0x80)))
     self.assertIsInstance(encoded, np.ndarray)
Exemplo n.º 15
0
 def test_unit_array_type(self):
     encoded = parity_encode(np.array([0], dtype=np.uint8))
     self.assertIsInstance(encoded, np.ndarray)
Exemplo n.º 16
0
 def test_unit_list(self):
     data = [0]
     encoded = parity_encode(data)
     self.assertEqual(encoded.shape, (1, ), 'Encoded data has wrong shape')
Exemplo n.º 17
0
 def test_full_list(self):
     data = list(range(0x80))
     encoded = parity_encode(data)
     self.assertEqual(encoded.shape, (len(data),), 'Encoded data has wrong shape')
Exemplo n.º 18
0
 def test_int_type(self):
     encoded = parity_encode(0)
Exemplo n.º 19
0
 def test_unit_list_type(self):
     encoded = parity_encode([0])
     self.assertIsInstance(encoded, np.ndarray)