示例#1
0
 def test_list(self):
     data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 123]
     expected = rt.FastArray([0, 1, 1, 2, 1, 2, 2, 3, 1, 6], dtype='i1')
     counts = rt.bitcount(data)
     assert_array_equal(counts, expected)
     bad_data = [0, 1, 1.1]
     with self.assertRaises(ValueError):
         rt.bitcount(bad_data)
     bad_data = [0, 1, 'a']
     with self.assertRaises(ValueError):
         rt.bitcount(bad_data)
示例#2
0
 def test_array(self):
     l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 123]
     expected = rt.FastArray([0, 1, 1, 2, 1, 2, 2, 3, 1, 6], dtype='i1')
     for dtype in ['i8', 'u8', 'i4', 'u4', 'i2', 'u2', 'i1', 'u1']:
         data = rt.FastArray(l, dtype=dtype)
         counts = rt.bitcount(data)
         assert_array_equal(counts, expected)
示例#3
0
 def test_16bit_array(self):
     l = [0xFD2, 0xFD27]
     expected = rt.FastArray([8, 11], dtype='i1')
     for dtype in ['i2', 'u2']:
         data = rt.FastArray(l, dtype=dtype)
         counts = rt.bitcount(data)
         assert_array_equal(counts, expected)
示例#4
0
 def test_scalar(self):
     data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 123]
     expected = [0, 1, 1, 2, 1, 2, 2, 3, 1, 6]
     for n, e in zip(data, expected):
         self.assertEqual(rt.bitcount(n), e)
     for n, e in zip(rt.FastArray(data, dtype='i8'), expected):
         self.assertEqual(rt.bitcount(n), e)
     with self.assertRaises(ValueError):
         rt.bitcount(3.14)
     with self.assertRaises(ValueError):
         rt.bitcount('a')
示例#5
0
 def test_sliced_array(self):
     data = rt.FastArray([0, 1, 2, 3, 4, 5, 6, 7, 8, 123], dtype='i8')[1::2]
     expected = rt.FastArray([1, 2, 2, 3, 6], dtype='i1')
     counts = rt.bitcount(data)
     assert_array_equal(counts, expected)
示例#6
0
 def test_float_array(self):
     l = [0.1, 0.2]
     for dtype in ['f4', 'f8']:
         data = rt.FastArray(l, dtype=dtype)
         with self.assertRaises(ValueError):
             rt.bitcount(data)
示例#7
0
 def test_bool_array(self):
     arr = rt.FastArray([0, -10, 17], dtype='i1')
     arr_bool_view = arr.view('?')
     counts = rt.bitcount(arr_bool_view)
     expected = rt.FastArray([0, 1, 1], dtype='i1')
     assert_array_equal(counts, expected)