def test_bitpack(): for _ in range(10): values = np.random.randint(0, 15000, size=np.random.randint(10, 100), dtype=np.int32) width = encoding.width_from_max_int(values.max()) o = encoding.Numpy8(np.zeros(900, dtype=np.uint8)) writer.encode_bitpacked(values, width, o) o.loc = 0 head = encoding.read_unsigned_var_int(o) out = encoding.Numpy32(np.zeros(300, dtype=np.int32)) encoding.read_bitpacked(o, head, width, out) assert (values == out.so_far()[: len(values)]).all() assert out.so_far()[len(values) :].sum() == 0 # zero padding assert out.loc - len(values) < 8
def test_bitpack(): for _ in range(10): values = np.random.randint(0, 15000, size=np.random.randint(10, 100), dtype=np.int32) width = encoding.width_from_max_int(values.max()) o = encoding.Numpy8(np.zeros(900, dtype=np.uint8)) writer.encode_bitpacked(values, width, o) o.loc = 0 head = encoding.read_unsigned_var_int(o) out = encoding.Numpy32(np.zeros(300, dtype=np.int32)) encoding.read_bitpacked(o, head, width, out) assert (values == out.so_far()[:len(values)]).all() assert out.so_far()[len(values):].sum() == 0 # zero padding assert out.loc - len(values) < 8
def test_rle_bp(): for _ in range(10): values = np.random.randint(0, 15000, size=np.random.randint(10, 100), dtype=np.int32) out = encoding.Numpy32(np.empty(len(values) + 5, dtype=np.int32)) o = encoding.Numpy8(np.zeros(900, dtype=np.uint8)) width = encoding.width_from_max_int(values.max()) # without length writer.encode_rle_bp(values, width, o) l = o.loc o.loc = 0 encoding.read_rle_bit_packed_hybrid(o, width, length=l, o=out) assert (out.so_far()[: len(values)] == values).all()
def test_rle_bp(): for _ in range(10): values = np.random.randint(0, 15000, size=np.random.randint(10, 100), dtype=np.int32) out = encoding.Numpy32(np.empty(len(values) + 5, dtype=np.int32)) o = encoding.Numpy8(np.zeros(900, dtype=np.uint8)) width = encoding.width_from_max_int(values.max()) # without length writer.encode_rle_bp(values, width, o) l = o.loc o.loc = 0 encoding.read_rle_bit_packed_hybrid(o, width, length=l, o=out) assert (out.so_far()[:len(values)] == values).all()